You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python移除大TXT文件中的下划线标签?

处理大文本文件移除下划线后缀标签的解决方案

针对600MB的大文本文件,推荐两种高效处理方式,既避免内存溢出,又能精准移除_NUM、_VERB这类下划线后缀:

方法一:Python 逐行处理(跨平台)

用正则表达式精准匹配并替换,通过逐行读写避免将整个文件加载到内存:

import re

# 匹配下划线后接全大写字母的后缀(单词边界确保只替换第一个元素的标签)
pattern = re.compile(r'_[A-Z]+\b')

with open('input.txt', 'r', encoding='utf-8') as infile, open('output.txt', 'w', encoding='utf-8') as outfile:
    for line in infile:
        modified_line = pattern.sub('', line)
        outfile.write(modified_line)

常见失败原因说明

  • 若用split('_')取第一个元素,文本中若存在其他下划线会导致错误截断;
  • 正则表达式未加\b(单词边界)时,可能误替换后续内容,添加边界能确保匹配精准性。

方法二:命令行工具(Linux/macOS/WSL 极速处理)

用sed命令直接批量替换,速度比Python更快,适合无需编写代码的场景:

sed 's/_[A-Z]*\b//' input.txt > output.txt

效果验证

原内容:

xxxxxxxx_NUM 0.20825405 -0.0756654 0.026837101
have_VERB -0.24344832 0.2747727 -0.024150277
two_NUM -0.038767103 0.20430847 0.10068103

处理后输出:

xxxxxxxx 0.20825405 -0.0756654 0.026837101
have -0.24344832 0.2747727 -0.024150277
two -0.038767103 0.20430847 0.10068103

内容的提问来源于stack exchange,提问作者Ido Lourie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 05:45:35