当前位置:  开发笔记 > 编程语言 > 正文

理解python对字符串的lstrip方法

如何解决《理解python对字符串的lstrip方法》经验,为你挑选了3个好方法。

我遇到了我认为是一个错误,我正在寻找确认或我不明白这个方法是如何工作的.

这是我的基本输出:

(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',但事实并非如此.有谁知道为什么?



1> gtlambert..:

lstrip()函数的行为与您的想法完全不同.从字符串左侧x.lstrip(argument)删除任何字符,直到它到达不在的字符.argumentxargument

因此'KEY_K'.lstrip('KEY_')产生'',因为最后一个字符K,是KEY_.



2> timgeb..:

它在文档中是正确的:

lstrip(...)S.lstrip([chars]) - > string或unicode

返回字符串S的副本,删除前导空格.如果给出了chars而不是None,则删除chars中的字符.如果chars是unicode,则S将在剥离之前转换为unicode

'K'是的'KEY_',这就是你的最后一个例子返回的原因''.

请注意,'K'如果前面有不在的字符,则不会被删除'KEY_':

>>> 'KEY_xK'.lstrip('KEY_')
'xK'



3> Eugene Prima..:

lstrip的第二个参数是将要删除的字符。如果需要删除子字符串,则可以使用:

if x.startswith('KEY_'):
    x = x.replace('KEY_', '', 1)

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有