从字符串中删除所有匹配的字符

时间:2014-07-24 21:19:23

标签: python

给出以下任何字符串:

'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标准库?

2 个答案:

答案 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删除两端的字符。