【问题标题】:How do I remove single line breaks?如何删除单个换行符?
【发布时间】:2015-10-16 20:23:16
【问题描述】:

我想删除文本中的单换行符,而不是双换行符。

我可以使用\r\n 替换行。如何删除单个换行符?

编辑:我还需要在每行之前添加空格。例如,如果原文是:

line1
line2
line3

必须转换为:

line1 line2 line3

【问题讨论】:

  • 你如何处理三重换行符?
  • 所选文本可能不会有三重换行符

标签: regex notepad++


【解决方案1】:

如果我明白你的意思 - 你需要将单个 \r\n 转换为空格,但留下双倍、三倍等等。

你可以使用Notepad++的替换功能和这个正则表达式

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

这里我们有\r\n 的负向lookbehind,然后是\r\n 本身,然后是\r\n 的负向lookahead,因此它匹配\r\n 的单个出现,没有相同字符的前任和后继。

类似:

注意:您必须选中表单底部的“正则表达式”单选按钮。此外,“替换为”字段应包含单个空格字符。

因此它会转换以下文本:

line1
line2
line3

line4
line5

进入这个:

line1 line2 line3

line4 line5

【讨论】:

    【解决方案2】:

    您可以尝试使用 CTRL + A 然后 CTRL + J

    【讨论】:

    • 我想,OP想要的结果不太一样。由于 Notepad++ 中的“加入行”实际上将 each \r\n 转换为空格字符 - 无论是单字符还是双字符。
    • @AndyKorneyev:- 嗯..我明白了。我想我误解了这个问题。
    猜你喜欢
    • 2012-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多