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

如何在Python 2.7或Notepad++中合并特定格式的文本行?

我来给你两个超实用的方案,不管是用Python 2.7写个小脚本,还是直接用Notepad++的正则替换,都能轻松搞定这个合并需求~

方案一:Python 2.7 脚本实现

思路很简单:逐行读取文件,把以500开头的奇数行先存起来,遇到下一行(偶数行)就把两者用分号拼接后写入新文件。

直接用这段代码就行,记得把input.txt改成你实际的文件名,运行后会生成合并好的output.txt:

# 打开输入文件和输出文件,编码根据你的文件实际情况调整(比如GBK或UTF-8)
with open("input.txt", "r") as infile, open("output.txt", "w") as outfile:
    stored_line = ""
    for line in infile:
        # 去除每行首尾的空白和换行符,避免合并后出现多余空格或换行
        cleaned_line = line.strip()
        if cleaned_line.startswith("500"):
            # 遇到奇数行,先暂存起来
            stored_line = cleaned_line
        else:
            # 遇到偶数行,和暂存的奇数行合并
            if stored_line:
                merged = "{0};{1}".format(stored_line, cleaned_line)
                outfile.write(merged + "\n")
                stored_line = ""

如果你的文件有特殊编码(比如中文常用的GBK编码),就在open里加上encoding='gbk'参数哦。

方案二:Notepad++ 正则替换实现

不想写代码的话,用Notepad++的正则替换更快捷,步骤如下:

  1. 打开你的文本文件,按下Ctrl+H打开替换对话框;
  2. 切换到「替换」标签页,勾选「正则表达式」(注意不要勾选「. 匹配换行符」);
  3. 在「查找目标」里输入:
    ^(500.*)\r?\n(?!500)(.*)$
  4. 在「替换为」里输入:
    \1;\2
  5. 点击「全部替换」,搞定!

正则小说明:

  • ^(500.*):匹配行首以500开头的整行内容,把它存为第一个分组;
  • \r?\n:匹配换行符(兼容Windows的\r\n和Unix的\n);
  • (?!500):负前瞻规则,确保下一行不是以500开头的;
  • (.*)$:匹配下一行的所有内容,存为第二个分组;
  • 替换时用\1;\2把两个分组用分号拼接起来。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:53:20