str.l裂缝()意外行为

2024-06-25 23:15:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个糟糕的项目,并试图解析我的配置

字符串是attr_title我必须去掉'attr\'并得到title。我使用了lstrip('attr_u'),但是得到了意想不到的结果。我知道lstrip会算出组合并删除它们,但很难理解它。在

In [17]: "attr.title".lstrip('attr.')
Out[17]: 'itle'

PS:我知道有多种提取字符串的解决方案,我有兴趣了解这一点。在


Tags: 项目字符串intitle解决方案outpsattr
2条回答

lstripiterates覆盖结果字符串,直到没有与最左边的字符集匹配的组合

下面是一个小插图。在

In [1]: "attr.title".lstrip('attr.')
Out[1]: 'itle'  # Flow  > "attr."  > "t"  > Next char is 'i' which does not match any combination hence, iteration stops & end result ('itle') is returned

In [2]: "attr.tritle".lstrip('attr.')
Out[2]: 'itle' # "attr."  > "t"  > "r"  > Next char is 'i' which does not match any combination hence, iteration stops & end result ('itle') is returned

In [5]: "attr.itratitle".lstrip('attr.')
Out[5]: 'itratitle' # "attr."  > Next char is 'i' which does not match any combination hence, iteration stops & end result ('itratitle') is returned
"attr.title".lstrip('attr.')

意思是“删除给定字符串左侧的每个attr.直到没有这样的字符出现。在

然后它接受给定的字符串并删除a、两个tr.和{},因为它们都包含在给定的模式中。在

i时,它停止,因为它不包含在模式中。在

相关问题 更多 >