给出以下任何字符串:
'test'
'test='
'test=='
'test==='
我想在其上运行一项功能,删除所有/所有' ='最后的人物。现在,我可以在两秒内写出这样的东西,事实上,这里有一个,我可以成像十几种替代方法:
def cleanup():
p = passwd()
while True:
new_p = p.rstrip('=')
if len(new_p) == len(p):
return new_p
p = new_p
但我想知道是否已经存在这样的Python标准库?
答案 0 :(得分:4)
str.rstrip()
已删除所有匹配字符:
>>> 'test===='.rstrip('=')
'test'
无需循环。
答案 1 :(得分:2)
您需要的只是str.rstrip
:
>>> 'test'.rstrip('=')
'test'
>>> 'test='.rstrip('=')
'test'
>>> 'test=='.rstrip('=')
'test'
>>> 'test==='.rstrip('=')
'test'
>>>
来自docs:
str.rstrip([chars])
返回字符串的副本,并删除尾随字符。
但应注意,str.rstrip
仅从字符串的右端删除字符。您需要使用str.lstrip
从左端删除字符,并使用str.strip
删除两端的字符。