从姓名中删除括号和数字吗?

2024-05-12 03:49:27 发布

您现在位置:Python中文网/ 问答频道 /正文

有一个包含几个国家名称的列表,但有些国家的名称中有数字和/或括号。我想得到一个没有括号或数字部分的只有国家名称的清单。有没有一种好的Python式的方法可以快速完成?在

示例:

输入:

country = ['India12','Bolivia (SA)', 'Australia17 (A)']

输出:

^{pr2}$

注意:我目前在Python中使用一个类似C的代码,在这里我迭代整个字符串,并从第一次遇到数字或圆括号的位置删除字符串部分。我想要一个更简洁的代码。在


Tags: 方法字符串代码名称示例列表sa数字
2条回答

您可以使用以下正则表达式:

import re
List = [re.findall("([a-zA-Z]+)[ \d]*[(]*.*[)]*.*", i)[0] for i in country]

输出:

^{pr2}$

也可以使用正则表达式。这里有一种方法可以做到这一点

import re
pattern = '[a-zA-Z]+'
country = ['India12','Bolivia (SA)', 'Australia17 (A)']
country_names = map(lambda x:re.search(pattern,x).group(),country)

相关问题 更多 >