私は次のようなテキストを持っています
This is a line
This is other line
This is another line
それらの複数の空の行を取り除く方法は?
私が欲しいのは
This is a line
This is other line
This is another line
\ sは、任意の空白文字(スペース、タブ、改行)に一致すると言いますが、複数の空の行を1つの空の行にする方法がわかりませんか?
Regex.Replace(input, @"(\r?\n\s*){2,}", Environment.NewLine + Environment.NewLine);
\r
オプションであると、Unixスタイルのラインターミネータで動作します。ただし、出力にはWindowsスタイルのターミネータが含まれます。
\s*
空白を含む行に一致させることができます。(私は元々、?
欲張りでない一致を作成するためにここに入力しましたが、これは実際には必要ではなく、この場合は有害である可能性があります。.NET正規表現では、改行をデフォルトと一致させません\s
。) .
RegexOptions
{2,}
空白だけで区切られた2つの連続する改行とのみ一致することを確認します。