Notepad++中直接输\n搜不到换行符,因默认普通模式将\n视为字面字符“\”和“n”;必须切换至扩展模式(用\r\n匹配CRLF)或正则模式(新版用\R兼容所有换行符)。

Notepad++ 里直接输 \n 搜不到换行符,不是你操作错了,是它根本没被当换行符解析——默认「普通模式」下,\n 就是两个字符:\ 和 n。
必须切换搜索模式才能匹配真实换行符
Notepad++ 的查找替换对换行符的识别完全依赖当前「查找模式」:
- 「普通模式」:所有
\r、\n、\t都按字面量处理,\r\n就是四个字符,不可能匹配到换行 - 「扩展模式」:支持
\r\n(Windows)、\n(Unix)、\t(Tab)等转义,简单可靠,适合基础替换 - 「正则表达式」模式:支持 PCRE 语法,但
\n仅匹配 LF;跨平台兼容需用\R(Notepad++ 7.9+),老版本不认\R,强行写会失效
右下角状态栏必须明确显示「正则表达式」或「扩展」——错一个字,整个查找就白忙。
怎么安全地把多行合并成一行
典型场景如日志拼接、SQL 压缩、CSV 行转单行。关键不是“删换行”,而是“替换成什么”:
- 查找内容填
\r\n(确认文档是 Windows 换行,看右下角是否标“CRLF”)或\R(新版推荐,自动兼容\r\n/\n/\r) - 替换为填空格、逗号或留空,取决于你要的格式
- 如果原文有空行(即连续
\r\n\r\n),直接替换会导致多个空格/逗号堆叠;先单独执行\r\n\r\n→\r\n清理空行 - 文件 >10MB 时慎用「全部替换」,偶尔卡死或丢内容;建议先用「查找全部」预览命中行数,或分批操作
为什么替换了却没变化?先盯这三点
90% 的“没反应”问题都出在这三个地方,比重来快得多:
- 右下角状态栏是否写着「正则表达式」?不是「普通」或「扩展」——模式错,正则全废
- 开了「显示所有字符」吗?按
Ctrl + Shift + P,确认换行符显示为↵¶(CRLF)还是只有¶(LF)。前者必须用\r\n,后者才用\n - 文件是 UTF-8 with BOM 吗?某些版本下
\R在带 BOM 的文件中会失效;临时转成 UTF-8(无 BOM)再试
换行符看着是文本里的小符号,实际是编辑器、文件编码、搜索模式三者咬合的结果。少一个对不上,就白忙活。

















