Python 正则表达式删除1。括号内文本2.5个数字
我似乎找不到适合我需要的正则表达式。我的数据框包含以下国家/地区:Python 正则表达式删除1。括号内文本2.5个数字,python,regex,pandas,Python,Regex,Pandas,我似乎找不到适合我需要的正则表达式。我的数据框包含以下国家/地区: Switzerland17, Iran (Islamic Republic of), China, Hong Kong Special Administrative Region 我希望从瑞士删除17条,并删除括号内的所有文本。到目前为止,我只做到了其中一个。 Ps.:“中国、香港特别行政区”应保持不变 我当前的不完整代码: Energy['Country']=Energy['Country'].str.replace(“[^
Switzerland17,
Iran (Islamic Republic of),
China, Hong Kong Special Administrative Region
我希望从瑞士删除17条,并删除括号内的所有文本。到目前为止,我只做到了其中一个。
Ps.:“中国、香港特别行政区”应保持不变
我当前的不完整代码:
Energy['Country']=Energy['Country'].str.replace(“[^a-zA-Z]”,“”)
有什么建议吗?您可以使用
Energy['Country']=Energy['Country'].str.replace(r“\s*\([^()]*\)\124;\ d+,“”,regex=True)
看
如果您还需要删除数字前的可选空白,则可以将这两种模式分组在\s*
之后:
Energy['Country']=Energy['Country'].str.replace(r“\s*(?:\([^()]*\)\124;\ d+”,“”,regex=True)
看
详情:
-零个或多个空格\s*
-一个与(?:\([^()]*\)\d+
-a\([^()]*\)
),然后是除(
和(
之外的零个或多个字符,然后是a)
)
-或|
-一个或多个数字\d+