我正在查看一个数据集,其中有“City”列,其中的值的格式为,例如,实体[“City”、{“heilboy”、“安徽”、“中国”}]。我想清理一下这个专栏,这样就只剩下城市的名字了。在上面的例子中,我希望除去合肥以外的所有东西。我正在尝试将rstrip和lstrip与regex一起使用。尽管基于在线regex调试器网站,我的regex似乎是正确的,但代码不起作用。 以下是我使用的代码:
df['City'] = df['City'].map(lambda x: x.lstrip(r'(Entity["City", {")').rstrip(r'(",\s"\w+"}])'))
我希望结果是公正的。但我得到的结果是:
Hefei", "Anhui", "China
lstrip似乎正在工作,但rstrip只删除“}],而不删除我需要删除的其余字符
我希望有人能告诉我哪里出了错,或者告诉我一个更好的方法来完成这件事
IIUC,你可以做:
输出
模式
'{"(.+?)"'
意味着在第一个'{'
匹配尽可能少的文本之后,提取引号之间的所有内容相关问题 更多 >
编程相关推荐