Notepad ++での空行の削除


384

Notepad ++で空の行を置き換えるにはどうすればよいですか?空の行を見つけて置換してみましたが、置換には何もありませんでしたが、うまくいきませんでした。おそらく正規表現が必要です。

回答:


395

正規表現のようなものが必要です。

Extendedモードにする必要があります

あなたはすべての行が上に終了したい場合は、単一のラインを使用\r\n空の行を単に削除する場合は\n\r、@ Linkを最初に提案したとおりに使用します。

どちらかの式を何もないものに置き換えます。


21
最初に検索モードで「拡張」を選択する必要があります。
q0987 2012

14
行が結合されないようにするには、を検索して\r\n\r\nで置き換える必要があり\r\nます。
Robert Kaucher

1
以下の@BoltClockのコメントを参照してください。また、ファイルがUnixの行末で保存されている場合は、検索と置換を行う前に、編集> EOL変換> Windows形式でWindowsの行末に変換できます。
Big McLargeHuge 2012

9
スペースとタブのみ、または何もない行を削除する場合は、正規表現のreplaceを使用して一致させ\r\n\W*\r\nて置き換えてみてください\r\n
Myster

2
@ ST3うーん、私が考えていたものを、この1つははるかに優れている:(\r\n|\r|\n)(\s*(\r\n|\r|\n))+とと交換し\r\n、ここでのアクションでそれを参照してください。regex101.com/r/qD9dB1/1
ミステリーオブ

567

バージョン6.5.2以降、これを行う組み込みの方法があります。

Edit -> Line Operations -> Remove Empty Lines または Remove Empty Lines (Containing Blank characters)

空行を削除するスクリーンショット


残念ながら、これはあなたの選択を考慮していません、あなたがそれらのいくつかだけを選択したとしても、それはファイルのすべての空の行を削除します。
Fabioはモニカを

これが1回限りの操作である場合、選択した行を新しいnotepad ++タブに抽出し、そこでその操作を実行できます。5秒間コピーして貼り付けます。その時間内に達成できないその他の回避策は、私の意見では無駄です。しかし、それを毎日100回行う場合は
信条

私はこれを使用していました(ショートカットを割り当てた場合でも)が、上記のオプションよりもはるかに遅いため、スマートに使用してください...
Betlista

122

というメニューを追加するプラグインがありますTextFX。このメニューは、目を見張るような一連のテキスト編集オプションを備えており、コーディングの変更をすばやく行うことができます。このメニューでは、引用の削除、空白行の削除、テキストのアンラップとリラップなどの選択項目を見つけることができます

以下をせよ:

TextFX > TextFX Edit > Delete Blank Lines
TextFX > TextFX Edit > Delete Surplus Blank Lines

7
現時点ではわかりませんが、このプラグインはデフォルトでインストールされているようです。少しトピックから外れていますが、他の信じられないほど便利な機能の1つは、TextFX > TextFX Tools行の並べ替えで、オプションで重複を削除します。sort -ucygwinやunxutilsなどを使わずに、WindowsボックスでUnixを実行する非常に便利な方法。
Cam Jackson、

3
TextFxプラグインへのリンクは次のとおりです。 とても重宝しました。使用: Settings > Import > plugin...dllファイルを見つけてインストールします。それはメニュー項目になりますPlugins
ニコラス・ピカリング2012年

1
これは開いているすべてのドキュメントで機能しますか、それとも一度に1つのドキュメントで機能しますか?
2016年

76
  1. メモ帳++
  2. Ctrl-H
  3. 正規表現を選択
  4. ^[ \t]*$\r?\n何を見つけるかを入力し、空のままにしてください。これは、空白で始まり、キャリッジリターンで終わるすべての行に一致します(この場合は、ウィンドウのcrlf)。
  5. 「次を検索」ボタンをクリックして、空の行のみとどのように一致するかを確認してください。

1
マクロで簡単に機能させるには、他のメソッドの代わりにこのメソッドを使用する必要がありました。ありがとうございました。
Mafu Josh

5
複数の空の行が一度に置換されるため、必要な置換はさらに短くなり、さらに少なくなります:^ \ s * $ \ r?\ n
njank

30
  1. Ctrl + Hキー(置換のショートカット)を押します。
  2. [ 検索するゾーン]に、^\R(完全に空の行の場合)または^\h*\R(空白のある空の行の場合のみ)と入力します。
  3. 以下のままと交換ゾーンの空
  4. [ 折り返し ]オプションをオンにます。
  5. 正規表現検索モードを選択します。
  6. [ すべて置換 ]ボタンをクリックします。

ここに画像の説明を入力してください


1
これは問題なく動作し、変更する追加の設定もありませんでした。ありがとう!
Bonez024

19

次のスクリーンショットに示すように、この手法に従うことができます。

  • 何を見つける: ^\r\n
  • と置換する: keep this empty
  • 検索モード: Regular expression
  • ラップアラウンド:選択

ここに画像の説明を入力してください

注: * nixファイルの場合、\n


17

これは私のために働きました:

  1. プレスctrl + h(置換のショートカット)
  2. find whatボックスに次の正規表現のいずれかを書き込みます。 [\n\r]+$または^[\n\r]+
  3. Replace withボックスを空白のままにします
  4. Search ModeRegex
  5. Replace All

    完了をクリックしてください!

これは私の巨大な.csvファイルを台無しにしない唯一の解決策です。ありがとう!
豊かな

1
もう1つは、置換のショートカットをついに知ったからです:-D
Betlista

14

notepad ++でCTRL + Hを押し、検索モードで[拡張(\ n、\ r、\ t ...)]ラジオボタンをクリックして、[検索する文字列]ボックスに入力します:\ r \ n(CR LFの略) )と[置換]ボックスを空のままにします。

最後にすべて置換をヒット


実際、私はそれを試してみました、私の説明で私の説明を見てください あなたは何かに行きました!
Brad

3
ただし、ファイルがUnixの行末で保存されている場合は、行末がWindows(CRLF)であると想定しています\n
BoltClock

@Brad:() "CR LFの省略"の間に書いたので、codetrekに\ nがCRであると思わせたくなかったため、編集しました。
Bassem

間違った答えです。すべての行を1行に入れます。
m0skit0 2017

12

さて、私は正規表現やあなたの状況についてはわかりません。

CTRL + Aについては、TextFXメニュー-> TextFX Edit-> Delete Blank Linesを選択し、すべての空白行を削除します。

サイドノート-行が空白、つまりスペースが含まれていない場合、これは機能します


12

次の正規表現を検索し^(?:[\t ]*(?:\r?\n|\r))+て、空のフィールドに置き換えることができます


11

Ctrl + H。

検索-\ r \ r置換--\ r。


これは、二重の\ rを単一の\ rに置き換えるという意味で、余分な行を削除して機能します。ありがとう!!
genpet 2012年

これはうまくいきましたが、\ r \ rのすべてのインスタンスが消える前に、ドキュメントで数回実行する必要があることがわかりました。理由はわかりません。
Hawkwing 2013

7

空白行にタブまたは空白が含まれている場合、これは明らかに機能しません。多くのウェブページ(例:http : //www.guardian.co.uk/)には、HTMLエディターの欠陥が原因で、これらの白い線が含まれています。

次のように正規表現を使用して空白を削除します。

パターンを変更:[\ t] + $をなしに。

ここで、[\ t]はタブまたはスペースのいずれかに一致します。'+'は1回以上の出現に一致し、 '$'は行の終わりを示します。

次に、notepad ++ / textFXを使用して、単一または余分な空行を削除します。これらの空白行が特定のコンテキストで重要でないことを確認してください。


5

ここに画像の説明を入力してください

時々\ n \ rなどが機能しない場合があります。ここでそれを理解するために、実際の正規表現がどうあるべきかを理解してください。

このトリックの利点:複数のファイルを一度に置き換える場合は、この方法が必要です。上記は動作しません...


5

1)Ctrl + H(またはSearch 🠆 Replace..)置換ウィンドウを開きます。

2)「正規表現」を選択します'Search Mode'

3)「検索対象」タイプ^(\s*)(.*)(\s*)$「置換」タイプ\2

  • ^ -行頭文字と一致
  • (\s*) -空のスペース文字に一致します
  • (.*) -任意の文字に一致します
  • (\s*) -空のスペース文字に一致します
  • $ -行末文字と一致します
  • \2 -2番目のブラケットの一致する競合を示します

ここに画像の説明を入力してください正規表現の 詳細については、https://www.rexegg.com/regex-quickstart.htmlを参照して ください


4
  1. 編集>>空白の操作>>先頭と末尾のスペースをトリミング(空の行の黒いタブとスペースを削除するため)
  2. Ctrl+ H置換ウィンドウを取得してパターンを置換:^\r\n何もなし(正規表現を選択)

注:ステップ1では、タブと空白スペースを介して行われたコードの意図が削除されます


4

CTRL + A、TextFXメニュー-> TextFX Edit-> Delete Blank Linesの順に選択します。

ただし、行にスペースが含まれている場合は、カーソルをその行に移動してCTRL + Hを押します。[検索対象:]秒に空白スペースが表示され、[置換後の文字列]セクションでは空白のままにします。すべてのスペースが削除され、CTRL + Aを押して、TextFXメニューを選択します-> TextFX Edit-> Delete Blank Lines


4

/n/r特定のタイプの改行を想定しています。空白行をターゲットにするには、次も使用できます。

^$

これは言う-始まりとその後の間に何もないで終わるすべての行。これはより包括的なものです。同じ空の文字列に置き換えます。


3

組み合わせたものを答えとして見なかったので、^ \ s + $を検索し、{nothing}に置き換えます

^\s+$ means
  ^ start of line
  \s+ Matches minimum one whitespace character (spaces, tabs, line breaks)
  $ until end of line

あなたが複数の行をしたい場合、あなたは試すことができます^\s+^(\S)として交換してください\1
jiggunjer 2017年


1

空の行から空白を削除する簡単な方法:

  1. TextFX> TextFX Edit> Trim Trailing Spaces

これにより、空白行の末尾のスペースを含むすべての末尾のスペースが削除されます。末尾のスペースに意味がないことを確認してください。


0

上記のいくつかの表現と拡張表現は私にはうまくいきませんでしたが、正規表現 "$ \ n $"はうまくいきました。


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