在python解释器中:
'pradeep'.lstrip('prade')输出为''。
我期望它返回“ ep”。
为什么这个假设是错误的?
最佳答案
.lstrip()
删除字符集,而不是单词。所有字符p
,r
,a
,d
和e
,以任何顺序从pradeep
的开头删除。最后两个字符e
和d
仍然是该集合的一部分,也将被删除。如果使用.lstrip('drape')
或.lstrip('adepr')
,将得到相同的结果。
如果要从头开始删除单词,请使用切片:
example = 'pradeep'
example[5:] if example.startswith('prade') else example
或者,根据功能:
def remove_start(inputstring, word_to_remove):
return inputstring[len(word_to_remove):] if inputstring.startswith(word_to_remove) else inputstring
演示:
>>> def remove_start(inputstring, word_to_remove):
... return inputstring[len(word_to_remove):] if inputstring.startswith(word_to_remove) else inputstring
...
>>> remove_start('pradeep', 'prade')
'ep'
关于python - 函数string.lstrip()在python中返回空白字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20843549/