【正規表現】テキストから空行・空白行を削除する

概要正規表現(検索文字列)備考
空行(改行のみ)^$(\r\n|\r|\n)?改行コードのみの行
空白行(改行 + 空白文字)^\s*?$(\r\n|\r|\n)?改行コード、空白文字のみの行
* 空白文字 = 半角/全角スペース、タブ文字、改行コード、改ページ
空白行(改行 + 半角スペース + タブ文字)^[ \t]*?$(\r\n|\r|\n)?改行コード、半角スペース、タブ文字のみの行
空白行(改行 + 半角スペース)^ *?$(\r\n|\r|\n)?改行コード、半角スペースのみの行
空白行(改行 + タブ文字)^\t*?$(\r\n|\r|\n)?改行コード、タブ文字のみの行

改行コードはCRLF、CR、LFのいずれでもマッチするようにしています。特定の改行コードのみを対象にしたい場合は(\r\n|\r|\n)の部分を\r\nなど任意の改行コードに置き換えてください。

なお、上記の正規表現はマルチラインモードを前提にしています。シングルラインモードの場合は行の概念がなくなってしまうのでご注意ください。

正規表現で空行・空白行を削除する例

表のいずれかの正規表現で検索し、空文字で置換することで該当行を削除できます。

例えばこんなテキストがあるとします。

aaaaaaaa\n
\n
␣␣□□\t\t\n
␣␣\t\t\n
␣␣\n
\t\t\n
bbbbbbbb\n

:半角スペース
:全角スペース
\t:タブ文字
\n:改行コード

空行(改行のみ)を消す

正規表現:^$(\r\n|\r|\n)?

aaaaaaaa\n
\n				→削除
␣␣□□\t\t\n
␣␣\t\t\n
␣␣\n
\t\t\n
bbbbbbbb\n

空白行(改行 + 空白文字)を消す

正規表現:^\s*?$(\r\n|\r|\n)?

aaaaaaaa\n
\n				→削除
␣␣□□\t\t\n	→削除
␣␣\t\t\n		→削除
␣␣\n			→削除
\t\t\n			→削除
bbbbbbbb\n

空白行(改行 + 半角スペース + タブ文字)を消す

正規表現:^[ \t]*?$(\r\n|\r|\n)?

aaaaaaaa\n
\n				→削除
␣␣□□\t\t\n
␣␣\t\t\n		→削除
␣␣\n			→削除
\t\t\n			→削除
bbbbbbbb\n

空白行(改行 + 半角スペース)を消す

正規表現:^ *?$(\r\n|\r|\n)?

aaaaaaaa\n
\n				→削除
␣␣□□\t\t\n
␣␣\t\t\n
␣␣\n			→削除
\t\t\n
bbbbbbbb\n

空白行(改行 + タブ文字)を消す

正規表現:^\t*?$(\r\n|\r|\n)?

aaaaaaaa\n
\n				→削除
␣␣□□\t\t\n
␣␣\t\t\n
␣␣\n
\t\t\n			→削除
bbbbbbbb\n
矢野ヒロタ / 1987年生まれ。プログラマー。
趣味で作ったWebツールを公開しています。無料ですのでご自由にお使いください。ブログは技術ネタと見せかけてもっぱら妄想です。よしなに。
© HIROTA YANO