Notepad++ ですべての CR/LF 文字を検索/置換するにはどうすればよいですか?
Microsoft Word の ^p 特殊文字に相当するものを探しています。
ベストアンサー1
[\r\n]+
うまくいくはずだ
2012年3月26日更新、リリース日メモ帳++ 6.0:
ああ、本当に動作するようになりました!!!
元の回答 2008 (Notepad++ 4.x) - 2009-2010-2011 (Notepad++ 5.x)
実際のところ、いいえ、正規表現では機能しないようです...
ただし、Notepad++ 5.x をお持ちの場合は、「拡張」検索モードを使用して を検索できます\r\n
。これにより、すべての が見つかりますCRLF
。
(これは他の回答と同じ回答だとは思いますが、繰り返しになりますが、「拡張モード」は Notepad++ 4.9、5.x 以降でのみ利用可能です)
2009 年 4 月以降、Notepad++ サイトにこのトピックに関する wiki 記事が掲載されています:
"行末を置き換えて行のレイアウトを変更する方法「」。
関連する抜粋には、次の検索プロセスが含まれます。
シンプル検索(Ctrl+ F)、検索モード=
Normal
EOL
編集ウィンドウで選択できます。
- カーソルを行末まで移動し、Shift+Right矢印キーを入力します。
- または、
EOL
マウスで選択するには、行の末尾から始めて次の行の先頭までドラッグします。 の右側にドラッグしてもEOL
機能しません。 を手動でコピーしてEOL
、Unix ファイル ( -のみ) のフィールドに貼り付けることができますLF
。シンプル検索 (Ctrl+F)、検索モード = 拡張
「拡張」オプションでは
\n
、 と が\r
一致可能な文字として表示されます。
通常の検索モードと同様に、Notepad++ は正確な文字を検索します。UNIX形式のファイルで
を検索して\r
も何も見つかりませんが、 を検索すると\n
見つかります。同様に、Macintosh 形式のファイルには が含まれます\r
が、 は含まれません\n
。シンプル検索 (Ctrl+F)、検索モード = 正規表現
正規表現では、文字
^
と文字を使用して$
、一致文字列を行の先頭または末尾に固定します。たとえば、を検索すると、return;$
同じ行に後続のテキストがない「return;」の出現が見つかります。アンカー文字は、すべてのファイル形式で同じように機能します。
ドット メタ文字「.」は行末と一致しません。[Notepad++ 5.8.5でテスト済み]:明示的なまたはを使用した正規表現検索は機能しません(
\r
\n
Scintilla ドキュメント)。
明示的な(貼り付けられた)LF や、EOL が選択されているときにフィールドに配置される(非表示の)EOL 文字の検索も実行されません。正規表現なしの高度な検索 ( Ctrl+ R)Ctrl+ はM、改行に一致するものを挿入します。それらは置換文字列に置き換えられます。
正規表現を本当に使用する必要がない限り、この方法が最も信頼性が高いのでお勧めします。
たとえば、ダブルスペースのファイルで 2 行おきの改行を削除するには、検索文字列ボックスにCtrl+ をM2 回入力し、置換文字列ボックスに 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