web-dev-qa-db-ja.com

#または;で始まる行をすべて削除しますNotepad ++で

Notepad ++を使用して、#または;で始まるすべての行を削除するにはどうすればよいですか?

61
Wasim A.

見つける:

^[#;].*

何も置き換えません。 ^は行の始まりを示し、[#;]#または;のいずれかに一致する文字クラスであり、.*は行の他のすべてに一致します。

6.0より前のNotepad ++のバージョンでは、正規表現エンジンの制限により、実際に行を削除することはできません。置換により、一致する各行が空白行になります。言い換えれば、これ:

#foo 
; bar 
ステートメント; 

になります:



ステートメント;

ただし、\r\n、または\r\nをパターンの末尾に追加すると、ファイルが使用している行の終わりに応じて、置換はNotepad ++ 6.0で機能します。

ステートメント;
106
BoltClock

他の人が指摘したように、Notepad ++ 6.0以降では、「置換」機能を使用して「;」で始まるすべての行を削除することができます。または "#"。

Taoは開始点として機能する正規表現を提供しますが、「;」の前に存在する可能性のある空白を考慮していません。または特定の行の「#」文字。たとえば、「;」で始まる行または「#」が「タブイン」されている場合、Taoの正規表現^(#|;).*\r\nを使用する場合は削除されません。

Taoの正規表現は、BoltClockの答えで言及されている警告を考慮していません。システム全体での改行文字の違いです。

改善点は、^(\s)*(#|;).*(\r\n|\r|\n)?を使用することです。これは、先頭の空白と改行文字の差異を考慮します。また、末尾の?は、ファイルの最終行が#または;で始まり、改行で終わらない場合を処理します。

好奇心For盛な人のために、特定のドキュメントで使用されている改行文字の種類を識別することができます(複数の種類が使用されている場合もあります)。

7
Ben Johnson

可能ですが、直接ではありません。

一言で言えば、検索に移動し、正規表現を使用して、「行をマーク」にチェックマークを付け、「すべて検索」をクリックします。その結果、これらすべての行のブックマークが作成されます。

検索メニューには、「ブックマークされた行の削除」という点があります。

私はここで答えを見つけました(正しい答えは2番目のものであり、受け入れられません!): Notepad ++の特定の行を削除する方法?

6
stema

たぶんあなたは試してみるべきです

^[#;].*$

^は最初に一致し、$は最後に一致します。

3
Lundberg

Notepad ++では、検索ダイアログの[マーク]タブを使用して、正規表現または通常(ワイルドカード)のクエリに一致するすべての行をブックマークできます。

次に、[検索]> [ブックマーク]> [ブックマークされた行の削除]を使用します。

0
NialF