如果我这样做:
ltrim('53-34567', '53-');
ltrim('53+34567', '53+');
ltrim('53*34567', '53*');
我得到4567
作为结果,而不是34567
。这种行为有什么解释?
答案 0 :(得分:21)
ltrim('53-34567', '53-');
5
开头有一个'53-34567'
,因此会被移除。
3
开头有一个'3-34567'
,因此会被移除。
-
开头有一个'-34567'
,因此会被移除。
3
开头有一个'34567'
,因此会被移除。
'53-'
开始时'4567'
内没有任何内容,所以它停止了。
通过删除不需要的尾随字符,这与trim()
的行为相同。例如,trim(" lots of spaces ");
将通过删除尾随和前导空格返回"lots of spaces"
,但会保留内部空格。
答案 1 :(得分:17)
@classmethod
def modify_cv(cls, new_value):
do_stuff_with(cls)
Base.cv = new_value
的第二个参数如下
<强> character_mask 强>
您还可以通过character_mask参数指定要剥离的字符。只需列出要删除的所有字符。
它用于指定要修剪的字符,其中包括ltrim()
。如果您知道要提取的内容,则可以使用其他字符串函数。
至于为什么其他3
未被移除,请参阅此评论:http://php.net/manual/en/function.ltrim.php#118221
答案 2 :(得分:5)
这是因为ltrim
修剪了第二个参数中的字符。
工作原理: