从str.replace中的字符串中删除括号使用str.replace
问题描述:
我有一个国家列表,其中一些有一个空格括号,例如玻利维亚(多民族国)。从str.replace中的字符串中删除括号使用str.replace
为什么我的代码下面的工作只保留玻利维亚?
energy['Country'] = energy['Country'].str.replace("Bolivia (Plurinational State of)","Bolivia")
答
str.replace
使用正则表达式来执行替换。括号必须转义,以保持他们的简单字符:
energy['Country'].str.replace("Bolivia \(Plurinational State of\)","Bolivia")
您可以自动逃脱这样的:
import re
energy['Country'].str.replace(re.escape('Bolivia (Plurinational State of)'),"Bolivia")
答
这去除在他们那里有文字括号内的所有实例:
energy['Country'] = energy['Country'].str.replace(r"\(.*\)","")
+1
在这个版本中,你会得到尾随的白色空格,因为你在开放括号之前没有考虑它们。 – Boud
答
energy['Country'] = energy['Country'].str.replace(r"\s+\(.*\)","")
@python_new_user的解决方案,但解决@Boud提到的白色拖尾问题
这个工作,但我最终找到了一种不同的方式,将整个列中的所有括号。 –