Notepad++中合并特定单词间的多行内容
解决Notepad++合并特定多行内容的问题
看起来你是想把分散在多行的GSM + 38 + 38 + 32 + 1合并成连续的GSM+38+38+32+1,对吧?你的正则没成功是因为没匹配到内容里的空格和换行组合,我来给你一步步解决:
步骤1:打开替换对话框
在Notepad++里按下Ctrl+H调出替换窗口,然后切换到正则表达式模式(记得勾选对话框下方的「正则表达式」选项,不要勾选「.匹配换行符」)。
步骤2:设置正则规则
- 查找目标:输入
\s*\n\s*\+\s*
这个规则的意思是:匹配任意数量的空白(空格/制表符)→ 匹配换行 → 再匹配任意数量的空白 → 匹配加号 → 最后匹配任意数量的空白,完美覆盖你内容里换行前后的空格和加号的组合。 - 替换为:输入
+
直接用一个加号替换掉上面匹配到的所有冗余内容。
步骤3:执行替换
点击「全部替换」按钮,你就能得到期望的输出:EOD++::N' GSM+38+38+32+1' USF+1+ABCDEFGH'
为啥你的原正则没生效?
你写的(\+)\n([0-9]{1,2})\n是在匹配「加号→换行→1-2位数字→换行」,但你的内容里数字后面并没有换行,而且加号前后还有空格,换行也不是直接跟在加号后面,所以完全匹配不到目标内容~
内容的提问来源于stack exchange,提问作者aravinda sanjeev




