如何使用Python将文本单词内嵌的'_'替换为空格
实现方法
你当前编写的正则没有匹配下划线的逻辑,无法完成替换需求,可根据实际场景选择以下方案:
方案1:替换所有下划线(适用绝大多数场景)
如果不需要保留文本首尾或其他位置的下划线,直接替换所有_为空格即可,pandas内置的字符串方法可以直接处理整列数据,无需额外遍历:
# 直接替换整列所有下划线为空格 df['text'] = df['text'].str.replace('_', ' ', regex=False)
该方法执行效率高,处理后overflow_largest会直接变为overflow largest,完全符合你的示例要求。
方案2:仅替换单词内部的下划线
如果你需要保留单词首尾的下划线(比如_demo、demo_中的下划线不替换),可以用正则匹配单词内部的下划线再替换:
import re # 仅替换前后都是字母/数字的下划线(即单词内部的下划线) df['text'] = df['text'].str.replace(r'(?<=[a-zA-Z0-9])_(?=[a-zA-Z0-9])', ' ', regex=True)
内容的提问来源于stack exchange,提问作者Ankita
相关产品推荐
相关产品推荐

