簡體   English   中英

刪除所有以 # 或開頭的行; 在記事本++中

[英]Delete all lines starting with # or ; in Notepad++

使用 Notepad++,如何刪除所有以# 或;開頭的行?

找:

^[#;].*

什么都不替換。 ^表示一行的開頭, [#;]是一個匹配#;的字符類; .*匹配行中的任何其他內容。

在6.0之前的Notepad ++版本中,由於其正則表達式引擎的限制,您將無法實際刪除這些行; 替換結果為每行匹配的空行。 換句話說,這個:

# foo
; bar
statement;

將變成:

statement;

但是,如果將\\r\\n\\r\\n到模式的末尾,則替換將在Notepad ++ 6.0中有效,具體取決於文件的結尾行,從而導致:

statement;

正如其他人所說,在Notepad ++ 6.0及更高版本中,可以使用“替換”功能刪除所有以“;”開頭的行。 要么 ”#”。

Tao提供了一個正則表達式作為起點,但它沒有考慮可能存在於“;”之前的空白區域。 或給定行上的“#”字符。 例如,以“;”開頭的行 當使用Tao的正則表達式^(#|;).*\\r\\n時,不會刪除“#”但是“tabbed-in”。

Tao的正則表達式並沒有解釋BoltClock的答案中提到的警告:系統中換行符的差異。

改進是使用^(\\s)*(#|;).*(\\r\\n|\\r|\\n)? ,它解釋了前導空格和換行符的差異。 還有,尾隨? 處理文件的最后一行以#;開頭的情況; ,但不以換行結束。

對於好奇,可以辨別在給定文檔中使用哪種類型的換行符(並且可以使用多種類型):查看 - >顯示符號 - >顯示行尾。

它可能,但不是直接的。

簡而言之,轉到搜索,使用正則表達式,選中“標記行”並單擊“查找全部”。 它會為所有這些行生成書簽。

在搜索菜單中有一個點“刪除書簽行”瞧。

我在這里找到了答案(正確的答案是第二個,不是被接受的!): 如何刪除Notepad ++上的特定行?

也許你應該試試

^[#;].*$

^匹配開始, $結束。

在Notepad ++中,您可以使用“查找”對話框中的“標記”選項卡為與查詢匹配的所有行添加書簽,這些行可以是正則表達式或普通卡(通配符)。

然后使用“搜索”>“書簽”>“刪除書簽行”。

.*?[#;].*?\r\n

替換為無

暫無
暫無

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

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