2024-05-12 03:49:27 发布
网友
有一个包含几个国家名称的列表,但有些国家的名称中有数字和/或括号。我想得到一个没有括号或数字部分的只有国家名称的清单。有没有一种好的Python式的方法可以快速完成?在
示例:
输入:
country = ['India12','Bolivia (SA)', 'Australia17 (A)']
输出:
注意:我目前在Python中使用一个类似C的代码,在这里我迭代整个字符串,并从第一次遇到数字或圆括号的位置删除字符串部分。我想要一个更简洁的代码。在
您可以使用以下正则表达式:
import re List = [re.findall("([a-zA-Z]+)[ \d]*[(]*.*[)]*.*", i)[0] for i in country]
也可以使用正则表达式。这里有一种方法可以做到这一点
import re pattern = '[a-zA-Z]+' country = ['India12','Bolivia (SA)', 'Australia17 (A)'] country_names = map(lambda x:re.search(pattern,x).group(),country)
您可以使用以下正则表达式:
输出:
^{pr2}$也可以使用正则表达式。这里有一种方法可以做到这一点
相关问题 更多 >
编程相关推荐