スポンサーリンク

Notepad++:改行コード「CRLF」も「LF」もまとめて選択する

この記事は約2分で読めます。

Notepad++ 正規表現 改行コード

こんにちは、さち です。

先日の記事で「Notepad++」での正規表現による検索について触れました。その時は、「複数行にまたぐ文字列を検索する」という内容だったのですが、おまけ(余談)として「改行コード」についても少し書きました。

簡単にまとめると『改行コードって OS ごとに違うから面倒だよね』ということで、最後に「全種類の改行コードをまかなう記述方法もある」ことも書きました。

後日、『全種類の改行をまかなう記述方法ってよく使いそうだし、意外と重要では……?』と思い、改めて備忘録を残すことにしました。それが、この記事です。

スポンサーリンク

「\n」ではすべての改行を選択できない

  1. 「Windows」と「macOS」の改行コードが入り混じったテキストファイルがあるとします。
    Notepad++ 正規表現 改行コード
  2. 正規表現の「\n」を使って、すべての改行を【改行】に「置換」してみます。
    Notepad++ 正規表現 改行コード
  3. 結果はこのとおり。「\n」で置換されるのは「LF」のみで、「CR」が残ってしまいました。
    Notepad++ 正規表現 改行コード

ウェブサイトを作っていると「改行 = \n」のイメージが強いですが、PC で扱う一般的なテキストファイルはそうではありません。「OS」ごとに異なるので、上記のような結果になってしまうのです。(旧バージョンの Mac OS で使われていた「CR」は現在ほぼ絶滅しているので、今回の例では除外)
改行コード 表 CR LF

すべての改行コードをまかなう「\R」

  1. 先ほどと同じテキストファイルです。
    Notepad++ 正規表現 改行コード
  2. 検索文字列の正規表現を「\R」に変更します。
    Notepad++ 正規表現 改行コード
  3. 「CRLF」も「LF」も両方を置換できました。
    Notepad++ 正規表現 改行コード

「\R」は、「\r\n」「\n」「\r」3種類の改行コードをすべてまかなえる正規表現のメタ文字です。非常に便利なので、ぜひ覚えて使いこなしましょう。

「\R」の「R」は必ず大文字で書きましょう。小文字の「\r」だと改行コード「CR」を意味するメタ文字になってしまいます。
他のテキストエディターやプログラミング言語では「\R」が使えないこともあります。その場合は、普通に下図のように3種類の改行コードに対応できるような記述をしましょう。
Notepad++ 正規表現 改行コード

コメント

タイトルとURLをコピーしました