表达提取国家名称?

时间:2019-07-13 23:27:06

标签: regex python-3.x pandas dataframe

我有一个国家/地区系数数据框,其中每个系数如下:

s = "C(Country)[T.China]"

s2 = "C(Country)[T.Italy]"

s3 = "C(Country)[T.United States]"

如何提取国家名称(即“中国”或“意大利”?)

这可以用“ strip”命令代替正则表达式吗?

2 个答案:

答案 0 :(得分:0)

此表达式将完成工作:

re.findall('T.([a-z|A-Z]*)',s) 

答案 1 :(得分:0)

我的猜测是,也许这个简单的表达式会起作用:

T\.\s*([^]]+)

测试

import re

regex = r"T\.\s*([^]]+)"

test_str = ("C(Country)[T.China]\n"
    "C(Country)[T.Italy]\n"
    "C(Country)[T.United States]")

print(re.findall(regex, test_str))

输出

['China', 'Italy', 'United States']

如果要浏览/简化/修改该表达式,请在this demo的右上角进行解释。