regex - 将某些换行符替换为等效于在键盘 NotePad++ 正则表达式上按删除键
问题描述
我正在使用 Notepad++ 查找和替换,我有正则表达式,[^|]\r
它会查找以 8778 开头的行的结尾。
8778|44523|0||TENNESSEE|ADMINISTRATION||ROLL 169 BATCH 8|1947-09-22|0|OnBase
See Also 15990TT|
我想基本上将该行与它下面的行合并,所以它变成了这样:
8778|44523|0||TENNESSEE|ADMINISTRATION||ROLL 169 BATCH 8|1947-09-22|0|OnBase See Also 15990TT|
我试过替换是一个空格,但它抓住了该行的最后一个字符(在这种情况下是一个 e )并用空格替换它,所以它是
8778|44523|0||TENNESSEE|ADMINISTRATION||ROLL 169 BATCH 8|1947-09-22|0|OnBas
See Also 15990TT|
有没有办法让它基本上合并两条线?
解决方案
问题是你[^|]
用来匹配回车之前不是管道字符的任何东西,在替换时,它将删除该字符(因此你为什么会丢失一个e
)。
如果必须只匹配非管道字符后的回车符,请捕获前面的字符([^|])\r$
,然后使用$1
.
您\n
的正则表达式中也缺少 a ,这就是替换没有连接两行的原因。所以你的搜索应该是([^|])\r\n$
,你的替换应该是$1
。