我的字符串包含
text = "a) 巴格达,伊拉克 b) 阿拉伯联合酋长国(可能)"
我想把它拆分成列表,如下所示
["巴格达,伊拉克","阿拉伯联合酋长国(可能)"]
我使用的代码没有提供我想要的结果
re.split('\\s*([a-zA-Z\\d][).]|•)\\s*(?=[A-Z])', text)
请帮我解决以下问题
我的字符串包含
text = "a) 巴格达,伊拉克 b) 阿拉伯联合酋长国(可能)"
我想把它拆分成列表,如下所示
["巴格达,伊拉克","阿拉伯联合酋长国(可能)"]
我使用的代码没有提供我想要的结果
re.split('\\s*([a-zA-Z\\d][).]|•)\\s*(?=[A-Z])', text)
请帮我解决以下问题
您可以使用列表推导式和第二个正则表达式创建所需的示例数据:
import re
text = "a) Baghdad, Iraq b) United Arab Emirates (possibly)"
# different 1.regex pattern, same result - refining with 2nd pattern
data = [x for x in re.split(r'((?:^\s*[a-zA-Z0-9]\))|(?:\s+[a-zA-Z0-9]\)))\s*',
text) if x and not re.match(r"\s*[a-zA-Z]\)",x)]
print(data)
输出:
['Baghdad, Iraq', 'United Arab Emirates (possibly)']
不必使用re.findall
,你可以直接使用re.split
:
import re
text = "a) Baghdad, Iraq b) United Arab Emirates (possibly)"
countries = list(filter(None, map(str.rstrip, re.split('\w\)\s', text))))
输出:
['Baghdad, Iraq', 'United Arab Emirates (possibly)']
a) 伊拉克巴格达 b) 阿拉伯联合酋长国(可能)c) 土耳其,如果阿联酋不在(b)中
? - lxopr
。 - Jongwarec) A
失败了。 - planetmaker