在python中使用string.lstrip()有限制吗?[重复]


问题内容

这个问题已经在这里有了答案

9年前关闭。

可能重复:
这是Python 2.7中的错误吗?

.lstrip()函数对某些字符串(尤其是带有下划线的字符串)的工作不尽如人意。例如,

In [1]:  a='abcd_efg_hijk_lmno_pqrs_tuvw_xyz'   
In [2]: a.lstrip('abcd_efg')   
Out[2]: 'hijk_lmno_pqrs_tuvw_xyz'

在此,缺少“ g”和“ h”之间的“ _”。知道为什么会这样吗?


问题答案:

.lstrip()不按照您的想法去做。它从字符串的左端删除 任何提供的字符 。第二个下划线与第一个下划线一样多,因此也被删除。

"aaaaaaaabbbbbbbc".lstrip("ab")  # "c"