我有一个字符串列表(len 10000),其中一些看起来像
Belin (*) 9
München 12
我想去掉字符串末尾的数字和 (*) 以获得纯城市名称
Berlin
München
我可以使用 rstrip 吗?
最佳答案
使用正则表达式函数 re.sub
删除 (*) (\(\*\)
) 和数字 (\d+
) 以及额外的前导空格 (\s*
):
>>> cities = [
... 'Belin (*) 9',
... 'München 12',
... 'Los Angeles 9'
... ]
>>> [re.sub('\s*\(\*\)|\s*\d+', '', city) for city in cities]
['Belin', 'München', 'Los Angeles']
使用 str.rstrip
,您需要指定要删除的所有字符:
>>> [city.rstrip(' 0123456789(*)') for city in cities]
['Belin', 'München', 'Los Angeles']
关于python - 如何去除字符串末尾的嘈杂模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34734449/