了解python在字符串上的lstrip方法[重复]
问题内容:
这个问题已经在这里有了答案 :
从字符串中删除前缀
(6个答案)
8个月前关闭。
我遇到了我认为是错误的错误,并且正在寻求确认,或者我不了解此方法的工作原理。
这是我的基本输出:
(Pdb) x = 'KEY_K'
(Pdb) x.lstrip('K')
'EY_K'
(Pdb) x.lstrip('KE')
'Y_K'
(Pdb) x.lstrip('KEY')
'_K'
(Pdb) x.lstrip('KEY_')
''
(Pdb) import sys
(Pdb) sys.version
'2.7.11 (default, Dec 5 2015, 14:44:47) \n[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.1.76)]'
我的理解是,该示例中的最后一个“ lstrip”应返回“ K”,但实际上没有。有人知道为什么吗?
问题答案:
在文档中是正确的:
lstrip(…)S.lstrip([字符])->字符串或Unicode
返回除去前导空格的字符串S的副本。如果给定 了chars而 不是None,则 改为删除chars中的字符
。如果chars是unicode,则在剥离之前S将被转换为unicode
'K'
是'KEY_'
,这就是您的最后一个示例返回的原因''
。
请注意,'K'
如果前面没有以下字符,则不会删除该字符'KEY_'
:
>>> 'KEY_xK'.lstrip('KEY_')
'xK'