Notepad++ですべてのCR/LF文字を検索/置換するにはどうすればいいですか?
Microsoft Wordの^pという特殊文字に相当するものを探しています。
[˶‾᷄ -̫ ‾᷅˵]+も使えるはずです。
2012年3月26日、Notepad++ 6.0のリリース日に更新しました。
OMG、実際に動作するようになりました!!!
をリリースしました。
オリジナルの回答 2008 (Notepad++ 4.x) - 2009-2010-2011 (Notepad++ 5.x)
実はダメなんです、正規表現では動かないようです...。
しかし、もしNotepad++ 5.xをお持ちなら、 'extended'検索モードを使って、`r\n
を探すことができます。これですべての CRLF
を見つけることができます。
(他の方と同じ答えになってしまいますが、やはり 'extended mode'は Notepad++ 4.9, 5.x 以上でしか使えません)
2009年4月以降、Notepad++のサイトには、このトピックに関するwiki記事があります。
"How To Replace Line Ends, thus changing the line layout"。
(Georgiecaseyさん4の以下の回答で言及されています)
関連するいくつかの抜粋には、以下の検索プロセスがあります。
検索モード=Normal
。
編集ウィンドウで
EOL
を選択することができます。
- カーソルを行末に移動して、Shift+Right矢印を入力するだけです。
- または、マウスで
EOL
を選択するには、行末のすぐ近くから次の行の先頭までドラッグします。 EOLを手動でコピーして、Unixファイル用のフィールドに貼り付けることができます(
LF`のみ)。
単純検索 (Ctrl+F), 検索モード = 拡張
検索モードを Extended にすると、n` や
rなどの文字が検索対象として表示されます。 通常の検索モードと同様に、Notepad++は正確な文字を検索します。 UNIX形式のファイルで``r
を検索すると何も見つかりませんが、n`を検索すると見つかります。同様に、マッキントッシュ形式のファイルでは、
rは含まれますが、``n
は含まれません。
検索モードは正規表現です。
正規表現では、^
と$
という文字を使って、一致する文字列を行頭または行末に固定します。例えば、return;$
と検索すると、同じ行に後続のテキストがない状態で発生した"return;"を検索します。アンカー文字は、すべてのファイル形式で同じように動作します。
ドットのメタキャラクタ '.' は、行末にマッチしません。
Tested in Notepad++ 5.8.5]です。**正規表現の検索で明示的に`r
や``n
を指定しても動作しません(Scintillaのドキュメントに反しています)。
また、明示的な(貼り付けられた)改行文字や、EOLを選択したときにフィールドに配置される(見えない)EOL文字の検索もできません。
正規表現を使わない高度な検索 (Ctrl+R)
Ctrl+Mは、改行にマッチするものを挿入します。置換文字列で置換されます。
どうしても正規表現を使わなければならない場合を除いて、この方法が最も信頼できる方法としてお勧めします。
例えば、ダブルスペースのファイルで2つ目の改行を削除するには、Ctrl+Mを検索文字列ボックスに2回、置換文字列ボックスに1回入力します。
Regexpを使った高度な検索(Ctrl+R)が可能です。
Ctrl+M、
$
、\\
のいずれにも該当しません。
同wikiでは、Hexエディタの代替についても言及されています。
文書の先頭に新しい文字列を入力します。
注意:改行に選択された文字は、通常0a
と表示されます。
ファイルがWindowsフォーマットの場合は、異なる値になることがあります。その場合は、Edit -> EOL Conversion -> Convert to Unix Format
に進み、置換後にEdit -> EOL Conversion -> Convert to Windows Format
に戻してください。
正規表現の検索機能があると仮定して、"\n "を探します。 ファイルによってはキャリッジリターンを使わないものもあるので、私は ˶‾᷄ -̫ ‾᷅˵ ॣ-̫͡-ʔ
EDIT: 投票してくださった方、ご意見ありがとうございました。 私が学んだのは......そう、何もない、あなたがフィードバックを提供しなかったからです。 なぜこれがいけないのか?