今回は「サクラエディタ 改行の置換方法」で説明した正規表現を使用した置換方法の発展として空行を削除する方法を説明します。
改行しか無い行の削除
空行の削除はサクラエディタの置換(ショートカットキー:Ctrl+R)を使用します。置換前項目に空行を指定して、置換後を未指定で置換すると空行が削除されます。
正規表現で空行を表す
本当に何も無い改行のみの行を表す正規表現は
^(\r\n|\r|\n)
で表すことができます。最初の「^」は行頭を表します。「(\r\n|\r|\n)」は3種類(下表参照)の改行コードを表します。これで、行頭が改行で始まる行を指定することができます。
Windowsの場合は標準で\r\nが使用されますので、
^\r\n
でも大丈夫です。
改行コード | 説明 | サクラエディタでの見た目 |
---|---|---|
CRLF | Windowsで使われる改行コード | ? |
CR | 昔のMac(OS9まで)で使われていた改行コード | ← |
LF | LinuxやMac(OSX以降)で使われる改行コード Excelのセル内で改行した時に使われる改行コード | ↓ |
実演
サンプルのテキストはこんな感じです。
置換(ショートカットキー:Ctrl+R)を行います。ポイントは以下の3点です。
- 置換前に「^(\r\n|\r|\n)」を指定
- 置換後は未指定
- 正規表現にチェックを付ける
- 最後に「すべて置換」ボタンを押す
結果はこうなります。
スペースやタブだけの行の削除したい場合
先ほどは改行だけがある行のみを削除する方法でしたが、半角スペースや全角スペース、タブしかない行も削除したいときがあります。
正規表現で空行を表す
半角スペースや全角スペース、タブしかない行を表す正規表現は
^\s*(\r\n|\r|\n)
で表すことができます。先ほどの「^(\r\n|\r|\n)」との違いは「^」の後に「\s*」が追加されています。「\s」が半角スペースや全角スペース、タブ、改行を表します。「*」は直前の文字が0回以上の繰り返しを意味します。これで行頭から半角スペースや全角スペース、タブが0回以上続いた後に改行がある文字を表します。
コメント
有益な情報をありがとうございます。
大変助かりました。
役に立ってよかったです!