我搜索了一下,但没有找到针对这种特定情况的解决方案。我需要将非空行组合成单行,同时保留空行。例如,输入:
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
提前感谢所有回复的人。
答案 0 :(得分:1)
您可以尝试替换
(?<![\n\r])[\n\r](?![\n\r])
(?<![\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*$)