Notepad ++で特定の行を削除するにはどうすればよいですか?


94

一部のコードファイル(C#)をクリーンアップしていて、領域を削除したいと考えています。そして、文字列「#region」を含むすべての行を削除したいと思います。これは単なる例であり、さらにいくつかの用途を考えることができますが、それは可能ですか?


2
私はこの質問に投票して、トピックから外れるように誘惑されます...これは、主にノートパッド++と特定の動作パターンに関する質問ですが、必ずしもプログラミング関連ではありません:/
Andreas Niedermair

@AndreasNiedermairは同意
のDisplayName

回答:


39

メニューの検索 -> 置換...Ctrl+ H)を使用できます。

置換するための正規表現機能があります。#regionと一致する正規表現を使用し、その行にあるものを空のスペースに置き換えることができます。


ありがとう、私はそれをしました、そしてそれはうまくいきます。しかし、今は\ n \ nを1つだけに置き換えようとしている\ nうまくいかないようです。
Rismo

1
エスケープシーケンスを置換するために拡張検索を使用する(正規表現のすぐ上にあるラジオボタン)
John T

ジョンに感謝します。私はそれを行い、1つの改行で機能しましたが、2つではありません。\ n \ nを検索して\ nに置き換えていますが、機能しません。それはあなたのために働きますか?
リスモ

1
Windowsでドキュメントを入力した場合、行末は\ r \ nになります。UNIXスタイルの行末は\ nです。
ジョンT

5
> TextFx編集- - > [削除余剰空白行が同じ:)ん。またちょうどTextFxがあることに気づいた
Rismo

278

Notepad ++ v6.5

  1. [検索 ]メニュー-> [ 検索... ]-> [ マーク ]タブ->検索内容:検索テキスト、[ ブックマーク行]、[ すべてマーク ]の順にチェックします。これにより、すべての行が検索語でブックマークされ、マージンに青い円が表示されます。

  2. そして、検索メニュー- > ブックマーク - > ブックマークし行を削除します。これにより、ブックマークされた行がすべて削除されます。

正規表現を使用して検索することもできます。この方法では、Johnのように空白行は発生せず、実際にはその行が削除されます。

古いバージョン

  1. [検索 ]メニュー-> [ 検索... ]-> 検索内容:検索テキスト、[ ブックマーク行 ] をオンにして[ すべて検索 ] クリックします。
  2. 次に、検索->ブックマーク->ブックマークされた行を削除

8
ありがとうございました!うわー、私はNP ++がこれを行ったことに気づいていなかった。行の検索とブックマーク+行の削除。驚くばかり。ありがとうございました!!
Matthew M.

なんというハック、なぜ正規表現を\ r \ nを ""に置き換えることができないのですか?(
felickz

13
これは、私が1つ以上賛成できる場所を見つけた小さな宝石の1つです。これが利用できなかったことに気づかなかった、何年にもわたって無駄に費やした時間はわかりません。問題だけは今、私はより生産的になる必要があると思います...
ミルナー

1
これを探しているなら。「マーク」には、検索ポップアップメニューに独自のタブがあります。
バニーバレ2013年

1
@bunnybare、ありがとう。回答を最新版に更新しました。
Ray

4

「YOURTEXT」を含む行を完全に削除する方法を次に示します。

  • 置換ダイアログを開く
  • 次の検索文字列を入力します:.*YOURTEXT.*[\r]?[\n](YOURTEXTをテキストに置き換えます)
  • 「正規表現」を有効にする
  • 「。は改行に一致する」を無効にする

指定された正規表現は、WindowsとUnixの両方の行末に一致します。

テキストに、バックスラッシュなどの正規表現に対して特別な意味を持つ文字が含まれている場合は、それらをエスケープする必要があります。


なぜ単一の文字に文字クラスを使用しているのですか?
トト

4

これは、コードの更新に使用するNotepad ++の最も一般的な機能です。

あなたがする必要があるのは:

  • すべての行に存在する共通の文字列を選択します。
  • Ctrl+を押すF
  • マークタブ、定期的な文字列を貼り付けるとチェックブックマークラインのチェックボックスを。
  • クリック Mark All
  • 次にメニューに移動します検索ブックマークブックマークされた行を削除

画像の説明については、このリンクを参照してください。

http://www.downloadorinstall.com/best-notepad-tips-and-tricks-for-faster-work-and-development/


リンクが壊れているようです(または使用するには恐ろしい量のJavaScriptコードが必要になる可能性があります)。
Peter Mortensen

2

John TへのJacobの応答は、行全体を削除するために完全に機能します。下部の「正規表現」を必ずチェックしてください。

解決: ^.*#region.*$


2
彼は何かをそれで置き換えるのではなく、行を削除したいと言った
felickz

1

EOL(\ nまたは\ r \ n)を調べます。次に.*#region.*\r\n、正規表現モードで何も置き換えません。


0

#regionを\ nに置き換えて、拡張検索モードをオンにしてみてください。


2
OPは、「すべての行を削除する」ことを望んでいると言いました。新しい行に置き換えます
felickz

0

regexとfind&replaceを使用すると、空の行を残さずに#regionを含むすべての行を削除できます。なんらかの理由でレイの方法が私のマシンで機能しなかったので、検索し(.*#region.*\n)|(\n.*#region.*)て置換ボックスを空のままにしました。

その正規表現は#region、最初の行にif が見つかった場合、最後の改行を削除し、最後の行にifが見つかった場合、前の改行を削除することを保証します。

それでも、それがあなたのために働くなら、レイの解決策はより良いものです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.