「。」なしで行を削除するにはどうすればよいですか Notepad ++で?[複製]


11

Notepad ++では、次の形式の行が多数あります。

abc.xyz

「abc」にはスペースまたは-または数字が含まれる場合があります。

「。」なしで行を削除するにはどうすればよいですか?したがって、行に「。」が含まれていない場合は、空の行を残さずに完全に削除する必要があります。

回答:


40

なしで行を削除するには.

  • メニュー[検索]> [置換](またはCtrl+ H

  • 「検索対象」を設定します ^[^\.]*\r\n

    • \r\nファイルのEOLに応じて、異なるEOL(行末)正規表現に置き換えることができます(「ファイルに異なるEOLがあります。どうすればよいですか?」および「ファイルが使用するEOLを気にしない」を参照してください) 、私は何ができますか?」以下)。
  • 「置換」をクリアします

  • 「正規表現」を有効にする

  • [すべて置換]をクリックします

    画像

ノート:

  • 上記では、ファイルの最後の行の末尾にEOLがあると想定しています。

  • 上記では、Windows EOLでテキストファイルを編集していることも想定しています\r\n

abc.xyz
abcdef
abc 123.xyz
abc 123def

abc.xyz
abc 123.xyz

ファイルに異なるEOLがありますが、何ができますか?

  • Windows EOLは\r\nです。

  • EOLが異なるファイルを使用している場合は、[編集]> [EOL変換]メニューを使用して、Windows EOLに変換できます。

  • Windows EOLを使用しておらず、変換したくない場合は、代わりに次を使用します。

    • Unix / OS X EOLの\n代わりに使用\r\n

    • Mac OS(バージョン9まで)EOLの\r代わりに使用\r\n


ファイルがどのEOLを使用しているのかわからないのですが、どうすればよいですか?

  • あなたは使用することができる\R(?:\r\n?|\n)、または(?:\r?\n?)代わりに\r\n。これにより、ファイルで実際に使用されているEOLの問題を回避できます。

  • を使用することもできます(?:\r?\n?|$)。この式は、ファイルの最終行にEOLがない場合に機能します。


参考文献


5
\ Rを使用して、任意の改行に一致させることができます。
user694733

@ user694733説明してください?\rWindowsのEOLと一致しません。削除すると、\n空白行が残ります。OPは「空行を残さないで、完全に削除したい」と述べました。
DavidPostill

大文字のR. N ++は、私の記憶が正しく機能する場合、これを特殊文字クラスとして持つPCREを使用します。
-user694733

@ user694733ああ。OK。それをテストし、動作します。
DavidPostill

regex101.comは regexexrよりも、正規表現を学習するためのより良いサイトです

14

受け入れられた答えは正しいですが、常に正規表現が用意されているとは限りません。そこで、よりシンプルなソリューションを紹介します。

  1. Ctrl+ F–タブマークをクリック
  2. 「検索対象」を設定します .
  3. [ブックマーク行]オプションをチェックします(Wrass提供)
  4. 検索モード=通常
  5. [すべてマーク]をクリックします。ブックマークされた行番号の横に青い円が表示されます。
  6. 次に、メニュー[検索]-> [ブックマーク]-> [マークされていない行の削除]に移動します。

これは素晴らしい単純な代替手段ですが、マークダイアログの[ブックマーク行]オプションもチェックする必要があることを言及したい場合があります。そうしないと、すべての行が削除されます。
怒り

良い点は、メモ帳が前回から覚えていたため、それを忘れていました。
ジカト

私は常に正規表現を使用していますが、簡単にするためにこの方法を使用します。免責事項:Notepad ++のさまざまなブックマーク機能も頻繁に使用しています。
JPhi1618

あなたはあなたのフォーマットに不満を抱いていたので、私はあなたがより快適だと思う編集を提出しました。同意しない場合は、お気軽に拒否するか、ロールバックしてください。
jpmc26
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.