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

如何用正则表达式移除文本文件中+++$+++分隔的字符串?

这需求挺典型的,我给你几个实用的实现方式,你根据自己的环境选就行~

方法一:用Python脚本处理

如果你会点Python,这个方法最灵活,也容易调整:

# 替换成你的输入文件路径
input_file = "input.txt"
# 替换成你想要的输出文件路径
output_file = "output.txt"

# 读取原文件并处理每一行
with open(input_file, 'r', encoding='utf-8') as f_in, open(output_file, 'w', encoding='utf-8') as f_out:
    for line in f_in:
        # 用指定分隔符拆分每行内容
        segments = line.strip().split('+++$+++')
        if segments:
            # 取最后一段,再去掉前后多余的空格换行
            final_text = segments[-1].strip()
            f_out.write(final_text + '\n')

用法:把上面的代码保存成clean_text.py,替换好文件路径,然后运行python clean_text.py就搞定了。

方法二:用awk命令(适合Linux/macOS/WSL用户)

如果习惯用命令行,awk处理这种分隔符场景特别高效:

awk -F '\\+\\+\\$\\+\\+\\+' '{print $NF}' input.txt > output.txt

解释一下:-F用来指定分隔符(因为+和$是正则特殊字符,所以要加反斜杠转义),$NF代表每行的最后一个字段,最后把结果写入输出文件。

方法三:用sed命令(适合Linux/macOS/WSL用户)

sed通过正则替换直接删掉前面不需要的部分:

sed 's/.*+++$+++ //' input.txt > output.txt

解释:.*+++$+++ 会匹配从行开头到最后一个+++$+++(包括后面的空格)的所有内容,替换成空字符串,剩下的就是你要的最后一段。如果有的行分隔符后面没有空格,把命令里的空格去掉就行:sed 's/.*+++$+++//' input.txt > output.txt

内容的提问来源于stack exchange,提问作者mohannad rateb

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:56:52