Notepad ++でCRLFを見つける


316

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

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


「thenonhacker」が言及していたことを少し構築するだけです。ジョブではULtraEdit-32を使用し、EDIファイル(x.12)で作業しているため、データをラップまたはアンラップする必要があります。最も一般的な2つの検索と置換文字列は、「^ p」と「〜」です。一方向に進むと、「〜」がCR / LFに置き換えられ、各セグメントが読みやすくなります。逆に移動すると、ファイルはEDIトランスレータが必要とする形式に戻ります。私のような怠惰な人々のために、私はそれらを使いやすいようにキーにマップしました。
DavidGrove 2010年

1
関連はありませんが、役に立ちました。WindowsでUNIXテキストファイルをWindows形式に変換する方法を検索した後、このページにアクセスしました。これが私がやったことでありCTRL+H、「検索モード:正規表現」を選択します。「Find What:$」および「Replace with:\ r」。コンテンツをコピーしてメモ帳に貼り付けるか、ディスクに保存します。
グル

2
わーい!Notepad ++ 6.0はPCREのサポートを提供します:[\r\n]+現在のように正規表現が機能します。回答を更新しました。お祝いします!
VonC 2012年

@VonC:[notepad ++]の回答すべて更新する必要があると思います:)
BoltClock

誰もまだ一般的な改行一致するエスケープシーケンス について言及して\Rいないようです。つまり、改行シーケンスと見なされるものすべて
ボブルバブル2016

回答:


412

[\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の記事を持っている:
どのようにラインのレイアウトを変更し、ライン端を交換します」。
georgiecaseyによる以下の回答で言及)

一部の関連抽出には、次の検索プロセスが含まれます。

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

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

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

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

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

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

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

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

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

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

Ctrl+ もM、どちら$\r\n一致しません。


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

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

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


1
私はv 4.7を実行していました。最新バージョンにアップグレードされ、拡張モードは宣伝どおりに機能します。応答してくれたすべての人に感謝します。
polara

+1:4.6を実行していて、同様の問題がありました。そして、あなたの答えのおかげで、5以上にアップグレードしました。ありがとう!
paercebal 2010年

できます!しかし、これはNotepad ++ RegExpを最低にします。UltraEdit-32の方が賢く、\ n必要なだけで作業が完了しました...
非ハッカー、

\ r \ nは機能しましたが、\ nは機能しませんでした。これは、\ rの省略形である\ nに慣れている開発者である場合、直感に反するものです。
ウォーレンP

2
@GarretWilson私は[^\r]\n問題なく動作することを確認します(正規表現検索):i.stack.imgur.com/PxZWD.png
VonC

22

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

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

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

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

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

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

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


2
Ctrl + Mを使用して、置換文字列に改行を挿入することもできます。
ダスティキャンベル、

2
これはFAQです。これは、他の点では優れた製品のデザインのいぼの一部です。
ウォーレンP

11

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

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


この回答は執筆時に古くなりました\r-Macは2001年以降使用されていません...(現在はUNIXです)
Jasper

9

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

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

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

  2. CRLF '文字'の1つを選択します(カーソルを1つの直前に置き、Shiftキーを押したまま、右カーソルキーを1回押します)。

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

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

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

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

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



4

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


1
このページで機能する数少ないアイテムの1つ。notepadd ++ 5.8.6の使用。この単純なものを信じるのは本当に難しいですが、このスレッドで与えられた、非常に複雑で、しばしば機能しない答えの量が必要です。
Andrew S

4

2013、v6.13以降では、以下を使用します。

メニューEditEOL ConversionWindows Format


これは、CRLFを1つ以上の任意の文字に置き換える一般的なケースをカバーしていません。または、1つ以上の任意の文字をCRLFで置き換えます(たとえば、スペース文字をCRLFで置き換えます)。
Peter Mortensen

2

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

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


1
なぜ機能しないのか正確にはわかりませんが、機能しません。この正規表現の実装(Notepad ++で)は一度に1行しかチェックせず、改行文字を無視すると想定しています。それがおそらくあなたが反対票を投じられた理由です。
フランクハダー2010

1
うん。regexはnotepad ++の行ごとにあるため、EOLで位置的に$と一致させることができますが、行の境界を越える式を検索/置換することはできません。
ウォーレンP

2

高度な検索オプション(使用Ctrl+をR)とCRLFのためのキーボードショートカット(使用Ctrl+をM改行を挿入します)。


Ctrl + Rを試してもうまくいきませんでした。ドキュメントに奇妙な制御文字「DC2」が挿入されました。Notepad ++バージョン:7.5.6(2018-05-19)。
Peter Mortensen

2

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

  1. すべてを交換し\r\n、のは言わせて、タグによって#GO#→チェック「拡張」、置き換える\r\nことにより、#GO#
  2. 正規表現を実行します。例:ICON="*"HTMLブックマークから複数行を削除します→正規表現を確認し、置き換えますICON=.[^"]+.> by >
  3. \ rを\ nは→チェック「拡張」を元に戻し、交換する#GO#ことにより、\r\n


1

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


1
これは元の質問には答えません。これがこのQ&Aに役立つと思う理由を説明してください。ヘルプセンターのページも参考にしてください。
AdrianHHH 2017年

1

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

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

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

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


1

NP v6.9では、これを完全に行うことはできませんでした。私はMsoft Word(2K)でそれが十分に簡単だとわかりました。

ドキュメントを開き、編集->置換に移動します。

次に、検索ボックスの下部にある[もっと見る]をクリックし、[特別]ボタンを見つけると、いくつかのことがわかります。ドス式は「パラグラフ」を使用しました。これは、windowsランドのcr lfペアです。


0

検索で\ rを実行し、replaceフィールドで空白に置き換えて、すべてが1行になるようにします。次に、検索を実行して(私の場合はセミコロンで)置換し、;で置換します\ n

:) -T&C


1
これは既存の回答とどのように違うのですか?
すべての労働者は必須です

0

個別の行のドキュメントを単一の行に変更するには、各行がカンマ区切りリストの1つのエントリを形成します。

  1. ctrl+ f検索/置換ツールを開きます。
  2. 「置換」タブをクリックします。
  3. 「検索対象」エントリに「\r\n」を入力します。
  4. 「置換」エントリに「,」または「, 」を入力します(設定によって異なります)。
  5. 「単語全体を一致させる」チェックボックス(ロジックを回避する重要なビット)のチェックを外します
  6. 「拡張」ラジオボタンをチェックします。
  7. 「すべて置換」ボタンをクリックします。

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

フーバー

バーバズ

バズフー

に:

foo bar、bar baz、baz foo

または:(好みに応じて)

foo bar、bar baz、baz foo


0

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

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


0

改行シーケンスの種類を見つけるには、次の正規表現構文を使用します。

\R

連続する改行シーケンスを見つけて選択するには、+後に追加し\Rます\R+

正規表現モードを必ずオンにしてください。

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

それは一致します:

  • U+000DU+000A -CRLF`シーケンス
  • U+000A- LINE FEEDLF
  • U+000B- LINE TABULATIONVT
  • U+000C- FORM FEEDFF
  • U+000D- CARRIAGE RETURNCR
  • U+0085- NEXT LINENEL
  • U+2028 - LINE SEPARATOR
  • U+2029 - PARAGRAPH SEPARATOR
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.