使用lstrip时会有意料之外的情况——多删字符。如下例:
'abca1'.lstrip('abc')
运行结果是'1',而不是‘a1’,所以lstrip并不是严格匹配的,此例中本希望得到的是‘a1’,但是多删掉了‘a’
这种情况使用replace来代替,最为稳妥。
'abca1'.replace('abc', '', 1)
运行结果为‘a1’。注意最后一个数字参数1,代表紧删除从左侧开始找到的第一个严格匹配的字符串。
如
'abca1abc'.replace('abc', '', 1)
结果为 'a1abc'
lstrip的运行机制:如果你传给他一个字符串, 那么它会从左到右挨个检查变量的字符, 如果在你给的参数内, 则删除这个字符, 直到出现不符合条件的字符才停止