簡體   English   中英

Notepad++ 中的正則表達式刪除空行

[英]regex in Notepad++ to remove blank lines

我有多個 html 文件,其中一些有一些空行,我需要一個正則表達式來刪除所有空行並只留下一個空行..所以它刪除了一個以上的空行,並留下那些只有一個或沒有的空行(沒有人喜歡其中的文字)。

我還需要它來考慮不完全空白的行,因為有些行可能有空格或制表符(不顯示的字符),所以我需要它來考慮這些帶有正則表達式的行,只要它更多比一行..

搜索

^([ \t]*)\r?\n\s+$

並替換為

\1

說明:

^         # Start of line
([ \t]*)  # Match any number of spaces or tabs, capture them in group 1
\r?\n     # Match one linebreak
\s+       # Match any following whitespace
$         # until the last possible end of line.

然后\\1將包含第一行空格字符,因此當您將其用作替換字符串時,只會保留第一行空格(不包括末尾的換行符)。

這對我在notepad++ v6.5.1. UNICODE windows 7notepad++ v6.5.1. UNICODE windows 7 notepad++ v6.5.1. UNICODE windows 7

搜索: ^[ \\t]*\\r\\n

替換為: 沒有,留空

搜索模式: Regular expression.

搜索(\\r?\\n(\\t| )*){3,} ,替換為\\r\\n\\r\\n ,選中“正則表達式”和“。匹配換行符”。

使用Notepad ++ 6.2進行測試

這將替換包含空格(或不包含空格)的連續空白行,並將其替換為一個新行。

搜索 (\\s*\\r?\\n){3,}

替換為 \\r\\n

在此輸入圖像描述

您可以自己找到需要替換的內容\\ n \\ n OR \\ n \\ r \\ n或\\ r \\ n \\ r \\ n等...現在您甚至可以修改正則表達式^([ \\t]*)\\r?\\n\\s+$根據您的需要。

我測試了上述任何建議,總是要么太少,要么刪除很多。 所以要么你沒有空白行,其中至少有一個是事先刪除或刪除不夠(留下空白等)。 不幸的是我還沒有寫評論。 使用6.1.5進行測試並更新到6.2並再次測試。 根據mayn文件的格式,我建議使用

Edit->Blank Operations->Trim trailing whitespace

然后按Ctrl + A

TextFX -> TextFX Edit -> Delete surplus blank lines

我試圖錄制的宏沒有用。 甚至還有一個用於刪除尾隨空格的宏( Alt + Shift + S ,請參見設置|快捷鍵映射器... |宏)。 有個

Edit->Blank Operations->Remove unnecessary EOL and whitespace

但這會刪除每個EOL並將所有內容放在一行中。

在記事本++ v8.4.7 中有一個選項:

編輯 > 行操作 > 刪除空行(包含空白字符)

要么

編輯 > 行操作 > 刪除空行

所以沒有必要為此使用正則表達式。 但這一次只適用於一個文件。

我查找了^\\r\\n並在“替換為”文本框中單擊“全部替換”,沒有任何內容(空)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM