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

Notepad++如何合并空行分隔的非空行组并保留空行?

合并连续非空行为单行并保留空行的解决方案

我明白你要的是把连续的非空行合并成一行,同时保留原有的空行分隔,对吧?我之前处理文本的时候也遇到过类似需求,给你几个实用的实现方案:

Python 脚本方案

如果你熟悉Python,这个脚本可以轻松处理文本文件:

with open('input.txt', 'r') as input_file, open('output.txt', 'w') as output_file:
    current_lines = []
    for line in input_file:
        cleaned_line = line.strip()
        if cleaned_line:
            # 收集非空行内容
            current_lines.append(cleaned_line)
        else:
            # 遇到空行时,输出之前收集的内容
            if current_lines:
                output_file.write(' '.join(current_lines) + '\n')
                current_lines = []
            # 保留空行
            output_file.write('\n')
    # 处理文件末尾的最后一组非空行
    if current_lines:
        output_file.write(' '.join(current_lines) + '\n')

使用方法:

  1. 把你的输入文本保存为 input.txt
  2. 运行这个脚本,会生成处理好的 output.txt
  3. 打开 output.txt 就能看到符合要求的结果

命令行 awk 方案

如果你用Linux/macOS或者WSL,awk命令处理这种文本超级高效:

awk '
    # 处理非空行:把内容拼接到block变量里
    NF { block = block $0 " " }
    # 处理空行:输出之前的非空块,然后保留空行
    !NF {
        if (block) {
            sub(/ $/, "", block)  # 去掉末尾多余的空格
            print block
            block = ""
        }
        print ""
    }
    # 处理文件末尾的最后一组非空行
    END {
        if (block) {
            sub(/ $/, "", block)
            print block
        }
    }
' input.txt > output.txt

直接在终端运行这条命令,就能把input.txt处理后输出到output.txt里,完全符合你的示例需求。

测试一下你给的输入内容,这两个方案都能输出你想要的结果:

Hi, My name is Max

What are you doing Right now?

Hi Hello World

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:56:31