Notepad++合并多行最可靠方式是Ctrl+J,专为合并选中行设计,不依赖换行符类型、不怕空行或编码问题;选中后按Ctrl+J即用空格连接,无需正则。

Notepad++ 合并多行文本最可靠的方式不是正则,而是 Ctrl+J —— 它专为“合并选中行”设计,不依赖换行符类型,也不怕空行或编码混乱。
用 Ctrl+J 快速合并选中行
这是 Notepad++ 内置的「行操作」功能,底层直接处理行边界,绕过所有换行符识别问题。
- 先选中你要合并的若干行(可全选
Ctrl+A,也可鼠标拖选) - 按
Ctrl+J,立刻拼成一行,原换行位置默认用单个空格连接 - 如果不需要空格,合并后用正则
\s+→(一个空格)再替换一次,最后再 trim 首尾空格即可 - 注意:
Ctrl+J不会合并未选中的行,也不会跨标签页生效,纯本地操作,安全可控
正则替换换行符时,\r\n 和 \R 怎么选
\r\n 是 Windows 风格换行,\R 是 PCRE 元字符,能匹配 \r\n、\n、\r 任意一种 —— 但仅在 Notepad++ 7.9 及以上版本稳定支持。
- 如果你不确定文档换行风格,先打开「视图 → 显示符号 → 显示所有字符」,看行尾标的是
CRLF还是LF - 旧版 Notepad++(如 7.5.x)建议坚持用
\r\n或\n,别信\R,它可能不生效甚至报错 - 别写
\n却勾选「扩展模式」——那里的\n表示字面量 n,不是换行符;必须勾「正则表达式」模式 - 想保留段落结构只合并某几块?得用带边界的正则,比如
(? 匹配冒号后、列表项前的换行,不能无脑全局替
为什么有时「全部替换」没反应
不是功能坏了,是换行符没对上。Notepad++ 不自动检测也不提示当前文档用哪种换行,全靠你猜。
- 粘贴进来的文本大概率是
\n(尤其从网页、Linux 日志、Python print 输出复制),但你查\r\n就白忙 - 状态栏右下角显示的「UTF-8 BOM」或「ANSI」不等于换行符类型,它们是独立属性
- 最快验证法:按
Ctrl+H,查找框填\r\n,点「查找下一个」,没跳转就换\n再试;还不行就开「显示所有字符」确认 - 极少数老 Mac 文本含
\r,几乎不用管,除非你明确知道来源
合并后出现多余空格或粘连,怎么收尾干净
单纯删换行符只是第一步,真实文本往往混着制表符、连续空格、首尾空白,直接拼容易出 word1 word2 或 word1word2。
- 推荐两步清洗:
\s+→(把所有空白字符序列压成单空格),再用^ +| +$→ 空(去首尾空格) -
\s在 Notepad++ 正则里确实包含\r、\n、\t、空格,所以它比单独处理换行更彻底 - 如果原始数据是 CSV 字段、SQL 列名这类严格分隔场景,别用空格连接,替换时直接填逗号加空格:
,,避免后续解析歧义
真正麻烦的从来不是「能不能合并」,而是合并后要不要保留语义分隔、原始缩进是否算有效信息、空行该删该留——这些没法靠一键解决,得看上下文。动手前花十秒扫一眼原文结构,比反复试正则省时间得多。


















