Python Pandas如何移除DataFrame字符串列中的多余特殊字符
问题原因
你原来使用的正则r"[^a-zA-Z\d\_]+"规则为保留大小写英文字母、数字、下划线,会把示例中不需要的数字也保留下来,比如<DEFG>(23)处理后会得到DEFG23,32.JHGF处理后会得到32JHGF,和你仅保留纯英文字母的预期不符。
解决方法
调整正则规则,仅匹配保留大小写英文字母即可,正确代码如下:
df['ColumnA'] = df['ColumnA'].str.replace(r'[^a-zA-Z]', '', regex=True)
处理后结果完全匹配你的预期:
- ABCD(!) → 输出ABCD
return (<DEFG>(23) → 输出DEFG )- (MNPQ. ) → 输出MNPQ
- 32.JHGF → 输出JHGF
- "QWERT" → 输出QWERT
内容的提问来源于stack exchange,提问作者user3046211
相关产品推荐
相关产品推荐

