Notepad ++ N文本行用空行分隔?

时间:2018-04-15 12:54:14

标签: regex notepad++ editing

我搜索了一下,但没有找到针对这种特定情况的解决方案。我需要将非空行组合成单行,同时保留空行。例如,输入:

Hi, My name is
Max 

What are you
doing
Right now?

Hi

Hello
World

应输出为:

Hi, My name is Max

What are you doing Right now?

Hi

Hello World

提前感谢所有回复的人。

2 个答案:

答案 0 :(得分:1)

您可以尝试替换

(?<![\n\r])[\n\r](?![\n\r])

空格 as demonstrated here

说明 -

(?<![\n\r])是一个负面的后视,它告诉正则表达式,任何匹配的东西都不能以换行符或回车符开头(只需将其作为换行符)
[\n\r]是匹配的换行符或回车符(后来用空格替换)
(?![\n\r])是一个负向前瞻,告诉正则表达式,任何要匹配的换行符都不应该跟随另一个换行符或回车符。

从本质上讲,这将替换空白的新行,而不是另一个换行符 - 带有空格。

答案 1 :(得分:0)

你也可以试试这个,

(?m)(?!^\s*$)(^[^\n]*)\n(?!^\s*$)

Demo ,,,其中匹配所有不为空且未跟empty line的行并删除所有匹配的newline character\n)。

但是,在notepad++中,您必须使用换行符carrige return(\r)来考虑\n。因此,

(?m)(?!^\s*$)(^[^\n]*)\r\n(?!^\s*$)