python - 如何去除字符串末尾的嘈杂模式?

标签 python string python-2.7 python-3.x

我有一个字符串列表(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/

相关文章:

php - 使用php获取字符串中第一个大写字母的位置

python - 如何从Python中的嵌套for循环创建数据框?

python - 在Pycharm中使用 'Execute Line in Console'时无法使用相对路径

python - 如何通过唯一索引对 pandas 列求和,然后重置总和?

python - 如何判断一个类在 Python 3 中是否是抽象的?

java - String类如何重写+运算符?

c++ - 传递 const char* 作为模板参数

python - NDB/DB NoSQL 注入(inject) Google 数据存储

python - 我可以在运行时从脚本打开应用程序吗?

python-2.7 - 使用 sklearn 加载文件以执行 Kmeans