332

Notepad ++ですべてのCR/LF文字を検索/置換するにはどうすればよいですか?

Microsoft Word の ^p 特殊文字に相当するものを探しています。

4

18 に答える 18

426

[\r\n]+あまりにも動作する必要があります

2012 年 3 月 26 日、Notepad++ 6.0のリリース日を更新します。

OMG、実際に機能するようになりました!!!

Notepad++ の PCRE 正規表現


元の回答 2008 (Notepad++ 4.x) - 2009-2010-2011 (Notepad++ 5.x)

実際にはいいえ、正規表現では機能しないようです...

ただし、Notepad++ 5.x を使用している場合は、「拡張」検索モードを使用して を探すことができます\r\n。それはあなたのすべてを見つけますCRLF

(これは他の答えと同じだと思いますが、「拡張モード」は Notepad++ 4.9、5.x などでのみ使用できます)


2009 年 4 月以降、このトピックに関する Wiki 記事が Notepad++ サイトに掲載されて
ます。 (以下の彼/彼女の回答でgeorgiecaseyによって言及されています)

関連する一部の抜粋には、次の検索プロセスが含まれています。

単純検索 ( Ctrl+ F)、検索モード =Normal

EOL編集ウィンドウでを選択できます。

  • カーソルを行末に移動し、Shift+Right矢印を入力します。
  • または、EOLマウスで選択するには、行末から開始して次の行の開始点までドラッグします。の右側にドラッグしても機能しEOLません。を手動でコピーしてEOL、Unix ファイルのフィールドに貼り付けることができます ( LF-only)。

簡易検索 (Ctrl+F)、検索モード = 拡張

「拡張」オプションでは、一致する可能性のある文字として と が表示\n\rれます。
通常の検索モードと同様に、Notepad++ は正確な文字を探します。UNIX 形式のファイルで を検索しても何も見つかりませんが、will を検索し
ます。同様に、Macintosh 形式のファイルには が含まれますが、含まれません。\r\n\r\n

単純検索 (Ctrl+F)、検索モード = 正規表現

正規表現は文字^$を使用して、一致文字列を行の先頭または末尾に固定します。たとえば、「return;」を検索するreturn;$と、「return;」の出現箇所が見つかります。同じ行に後続のテキストがない場合に発生します。アンカー文字は、すべてのファイル形式で同じように機能します。
「。」ドット メタキャラクタは行末と一致しません。

[Notepad++ 5.8.5 でテスト済み]:明示的なorを使用した正規表現検索は機能しません ( Scintilla のドキュメントとは異なります)\r\n
明示的な (貼り付けられた) LF の検索も、EOL が選択されたときにフィールドに配置された (非表示の) EOL 文字の検索も行われません。正規表現なしの高度な検索 ( Ctrl+ )R

Ctrl+M改行に一致するものを挿入します。それらは置換文字列に置き換えられます。
本当に正規表現を使用する必要がない限り、この方法を最も信頼できる方法としてお勧めします。
例として、ダブル スペース ファイルの改行を 1 秒おきに削除するには、検索文字列ボックスにCtrl+Mを 2 回入力し、置換文字列ボックスに 1 回入力します。

正規表現による高度な検索 ( Ctrl+ R)。

Ctrl+もM$\r\n一致しません。


同じウィキでは、 Hex エディターの代替についても言及されています。

  • ドキュメントの先頭に新しい文字列を入力します。
  • 次に、ドキュメントを 16 進モードで表示するように選択します。
  • 新しい行の 1 つを選択し、Ctrl+を押しHます。
  • [置換] ダイアログ ボックスが表示されている間に、背景で新しい置換文字列を選択し、Ctrl+Cコピーして [置換テキスト] 入力に貼り付けます。
  • 次に、必要に応じて置換またはすべて置換します。

注: 通常、改行用に選択された文字は として表示され0aます。
ファイルが Windows 形式の場合、値が異なる場合があります。その場合、いつでも に移動できEdit -> EOL Conversion -> Convert to Unix Format、交換後に元に戻すことができますEdit -> EOL Conversion -> Convert to Windows Format

于 2008-09-25T15:27:07.897 に答える
23

これはよくある質問のようで、提供される解決策は次のとおりです。

正規表現なしの単純検索 (Ctrl+H)

View/Show End of Line または View/Show All をオンにして、現在表示されている改行文字を選択できます。次に、コマンドを開始すると、改行文字に一致するいくつかの文字が検索フィールドに貼り付けられます。正規表現モードとは異なり、一致は置換文字列に置き換えられます。

注 1: マウスで選択した場合は、その直前から開始し、次の行の先頭までドラッグします。行末までドラッグしても機能しません。

注 2: 自分でコピーしてフィールドに貼り付けることはできません。

正規表現なしの高度な検索 (Ctrl+R)

Ctrl+M は、改行に一致するものを挿入します。それらは置換文字列に置き換えられます。

于 2008-10-08T17:40:18.700 に答える
11

置換ダイアログで、検索モードを「拡張」に設定します。通常または正規表現モードは機能しません。

次に、「\r\n」(または、UNIX ファイルの場合は \n のみ、Mac 形式のファイルの場合は \r のみ)を見つけて、置換を必要なものに設定します。

于 2008-09-25T15:31:33.987 に答える
9

検索/置換ウィンドウからの\r\n正規表現はあまりうまくいきませんでした。

ただし、これはNotepad++v4.1.2で機能します。

  1. 「表示|行末表示」メニューを使用して、行末文字の表示を有効にします。(キャリッジリターンラインフィードは、単一の影付きCRLF'文字'として表示される必要があります。)

  2. CRLFの「文字」の1つを選択します(カーソルを1つの文字の直前に置き、Shiftキーを押しながら、RIGHT CURSORキーを1回押します)。

  3. CRLF文字をクリップボードにコピーします。

  4. [検索]または[検索/置換]ダイアログが開いていないことを確認してください。

  5. 検索/置換ダイアログを開きます。「検索対象」フィールドにはクリップボードの内容が表示されます。この場合、CRLF文字-2つの「ボックス文字」として表示されます(おそらく印刷できない文字ですか?)

  6. 「正規表現」オプションがオフになっていることを確認します。

これで、必要に応じてカウント、検索、または置換できるようになります。

于 2008-09-25T15:53:27.507 に答える
4

私が見つけた方法は、置換機能を使用し、「拡張」モードで「\ n」を使用することです。バージョン 5.8.5 を使用しています。

于 2010-12-01T16:43:21.493 に答える
2

高度な検索オプション ( Ctrl+ R) を使用し、CRLF のキーボード ショートカット( Ctrl+ ) を使用しMてキャリッジ リターンを挿入します。

于 2008-09-25T16:48:46.593 に答える
2

「正規表現」検索があると仮定して、\r\n を探します。一部のファイルは改行を使用しないため、私は \r?\n を好みます。

編集:これに投票した人は誰でも、フィードバックをありがとう。私はそれを学びました...まあ、あなたがフィードバックを提供しなかったので、何もありません。なぜこれが間違っているのですか?

于 2008-09-25T15:26:01.443 に答える
2

\r\n を含む複雑な正規表現の置換を行う必要がある場合は、3 段階のアプローチで制限を回避できます。

  1. すべて\r\nをタグで置き換えます。たとえば#GO#、「拡張」にチェックを入れ、次のように置き換え\r\nます#GO#
  2. ICON="*"正規表現を実行します。たとえば、htmlブックマークから複数行を削除します→正規表現を確認し、置き換えますICON=.[^"]+.> by >
  3. 元に戻す\r\n →「拡張」にチェックを入れて#GO#置換\r\n
于 2012-03-27T07:34:34.583 に答える
1

この設定を行います。メニュー -> 表示 -> シンボルを表示 -> 行末を表示のチェックを外す

于 2017-03-20T13:06:15.320 に答える
1

Notepad++ でファイルを開き、いくつかの手順で置換を行いました。

  1. すべての「\r\n」を「\r\n」に置き換えます
  2. すべての「; \r\n」を「\r\n」に置き換えます
  3. すべての「\r\n」を「」に置き換えます

これにより、すべてのブレークが本来あるべき場所に配置され、ファイルを分割しているブレークが削除されます。

それは私のために働いた。

于 2013-04-11T12:45:54.177 に答える
0

多分あなたはTextFXプラグインを使うことができます

TextFX で、textfx 編集 → 空白行を削除

于 2013-05-22T08:15:57.400 に答える
0

各行がコンマ区切りリストの 1 つのエントリを形成するように、複数の行からなるドキュメントを 1 つの行に変更するには、次のようにします。

  1. ctrl+f検索/置換を開きます。
  2. 「置換」タブをクリックします。
  3. 「検索対象」エントリに「 」を入力し\r\nます。
  4. "Replace with" エントリに " ," または " , " (好みに応じて) を入力します。
  5. 「単語全体に一致」チェックボックスをオフにします(ロジックを回避する重要なビット)。
  6. 「拡張」ラジオボタンをチェックします。
  7. 「すべて置換」ボタンをクリックします。

これらのステップは、例えば

フーバー

バーバズ

バズ・フー

の中へ:

フーバー、バーバズ、バズフー

または: (好みによる)

フー バー、バー バズ、バズ フー

于 2012-02-27T17:46:07.827 に答える