在 Notepad++ 中删除双空行或更多,同时保留单空行

在 Notepad++ 中删除双空行或更多,同时保留单空行

我正在尝试删除文档中的空白行,但希望保留单个空白。例如:

line 1

line 2


line 3



line 4

必须删除查找和替换以在所有内容之间保留一个空白行:

line 1

line 2

line 3

line 4

任何帮助都值得感激。谢谢。

答案1

  • 在里面代替对话框 ( Ctrl-H),选择扩展搜索模式。
  • 为了找什么文本,输入(按照 Windows 回车/换行约定标记行尾):

    \r\n\r\n

  • 为了用。。。来代替文字,输入

    \r\n

每次单击全部替换,双重 CR/LF 将被转换为单一,或四重 CR/LF 将被转换为双重。

输入的字符可能会在不同情况下发生变化,例如,如果一行只有一个空格,或者 CR/LF 约定不同,如在 Mac 和 Linux OS 中。

答案2

这将替换所有后跟 2 个换行符的换行符,仅保留 2 个换行符。

  • Ctrl+H
  • 找什么:\R+(?=\R{2})
  • 用。。。来代替:LEAVE EMPTY
  • 检查环绕
  • 检查正则表达式
  • Replace all

解释:

\R+         : 1 or more any kind of linebreak (i.e. \r, \n, \r\n)
(?=         : positive lookahead, a zero-length assertion that make sure we have after
    \R{2}   : 2 linebreaks
)           : end lookahead

给定示例的结果:

line 1

line 2

line 3

line 4

答案3

Windows 解决方案:您可以在 notepad++ 上使用此 autohotkey 脚本。

奖金:它可以在 notepad++ 以及计算机上的任何其他地方运行

您可以使用快捷方式调用它(此处为 alt+space):

^!Space::
    clipboard =
    Send, ^a
    Send, ^c
    ClipWait
    ClipBoard := RegExReplace(ClipBoard, "\R(?=\R{2,})")
    sleep 100
    Send, ^v
    return

相关内容