Notepad++中的正则表达式 - 删除Notepad++中"$"字符后的换行符"\n"

6
我有一个包含许多实例的文本块文件,它们由$分隔。在每个$符号后面,都会有一个换行符。我如何使用Notepad++中的正则表达式搜索选项,在每个美元符号后面删除这个换行符?
Bohemians答案更新:

你有尝试过什么吗?你应该可以使用扩展的搜索/替换功能,而不是正则表达式搜索/替换。 - Jerry
是的,我已经尝试过了,但它没有起作用,因此我才在这个网站上发帖。 - DextrousDave
那么,如果你在问题中包含了那个尝试,那就更好了 :) - Jerry
我想你是对的Jerry。我只是懒惰了。 - DextrousDave
4个回答

5

您需要转义 $ 符号:

Search: \$[\n\r]+
Replace: $

如果不进行转义,$ 代表的意思是“行末”。


嗨Bohemian,请更新我的答案。我正在尝试在Notepad ++中进行,但是根据屏幕截图,我遇到了一个错误。 - DextrousDave
请尝试进行更改。我忘记了Windows的换行符。 - Bohemian
搜索文本\$\R应该也能工作或者如果需要删除$前的多个空行,可以使用\$\R+。查看http://www.boost.org/doc/libs/1_48_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html中的`\R`。 - AdrianHHH

4

那就是对我奏效的方法。

Search: $[\n\r]+
Replace:  

替换字符串不是空的,它是一个空格符号[space] 输入图片说明


我认为你没有理解这个问题。他们想要在字符$后面删除换行符(不是行末)。 - Toto

0
使用回顾后发来匹配所有紧挨着 $ 符号的换行符。将匹配到的 \n 字符替换为空字符串即可得到所需结果。
(?<=\$)\n

如果您想删除一个或多个出现在$之后的换行符,则可以在正则表达式中的\n后添加+
(?<=\$)\n+

如果您想删除一个或多个换行符或回车符,请使用以下正则表达式。

(?<=\$)[\r\n]+

演示


0

使用 扩展模式,而不是 正则表达式,你可以做到:

查找内容:$\n
替换为:$


谢谢,但它说无法找到“$\n”...在扩展模式下。 - DextrousDave
1
@DextrousDave 我相信在扩展模式下使用 $\r\n 可以工作。(并且你应该在notepad++上的“显示换行符”中看到 CRLF,以显示文件中同时存在 \r\n)。 - Jerry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接