Notepad++中空格替换成换行符必须用扩展模式,填“ ”替换为\r\n;正则模式下\r\n虽可识别但易受“.匹配新行”干扰,不推荐直接使用。

Notepad++里空格替换成换行符必须用扩展模式
直接在正则模式下写 → \r\n 会失败,因为正则模式把空格当普通字符处理没问题,但换行符目标必须用扩展语法才能正确解析。正则模式下 \r\n 虽然能识别,但它的行为受“.匹配新行”开关影响,而这个开关对单字符替换毫无意义——你只是想把空格变成换行,不是跨行匹配。
实操建议:
- 按
Ctrl + H打开替换框 - 搜索模式选「扩展(Extended)」(不是正则,也不是普通)
- 查找内容填:
(一个半角空格) - 替换为填:
\r\n - 点「全部替换」——此时每个空格都会变成 Windows 换行符
想把多个连续空格转成一个换行?得先清理再替换
原始文本是 hello world(中间4个空格),如果直接 → \r\n,结果会是:
hello world
但这是错的——它会生成 4 行:hello、空行、空行、world。因为每个空格都被独立替换了。
正确做法分两步:
- 先合并连续空格:查找
+(注意开头是空格++),替换为单个空格(正则模式下操作) - 再用扩展模式把那个唯一空格替换成
\r\n - 或者更干脆:查找
+,替换为\r\n,但必须确保模式是「正则表达式」且勾选「.匹配新行」——不过这容易误伤行内空格,不推荐
中文或全角空格不能用 匹配
只匹配 ASCII 空格(U+0020)。如果文档含全角空格(U+3000)、不间断空格(U+00A0)或制表符 \t,它们都不会被 捕获。
解决方法:
- 查全角空格:正则模式下查找
\u3000,替换为\r\n - 查所有空白符(含
\t、\r、\n、全角空格等):用\s,但注意\s在正则模式下默认不匹配\r\n,需启用「.匹配新行」才安全 - 最稳妥的批量清理:查找
[ \u3000\t]+(中括号内是半角空格、全角空格、制表符),替换为\r\n,模式选「正则表达式」
替换后出现乱码或换行失效?检查编码和 BOM
如果你用了 \R 或 \r\n 却没反应,大概率是文件带了 UTF-8 with BOM。Notepad++ 在某些版本(尤其是 7.9 之前)对 BOM 敏感,\R 会静默失效。
验证与修复步骤:
- 菜单栏 → 编码 → 查看当前编码,如果是「UTF-8-BOM」,就先转成「UTF-8(无 BOM)」
- 右下角状态栏确认显示的是
CRLF还是LF:Windows 文本应显示CRLF,否则\r\n可能不命中 - 大文件(>10MB)别直接「全部替换」,先点「查找全部」看命中的空格数是否合理,避免卡死
→ \r\n。其余所有花式需求——多空格压缩、中英文混排、BOM 干扰——都是在这个基础上加一层预处理或编码切换。别试图用正则模式一步到位,那只会增加调试成本。


















