複数行の文字列を複数の行に分割するにはどうすればよいですか?
この方法を知っている
var result = input.Split("\n\r".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
見た目が少し醜く、空白行が失われます。もっと良い解決策はありますか?
ベストアンサー1
見た目が醜い場合は、不要な
ToCharArray
呼び出しを削除するだけです。\n
またはで分割する場合は\r
、次の 2 つのオプションがあります。配列リテラルを使用しますが、これにより Windows スタイルの行末に空行が生成されます
\r\n
。var result = text.Split(new [] { '\r', '\n' });
Bart が示すように、正規表現を使用します。
var result = Regex.Split(text, "\r\n|\r|\n");
空行を保持したい場合、なぜ C# にそれらを破棄するように明示的に指示するのでしょうか? (
StringSplitOptions
パラメーター) –StringSplitOptions.None
代わりに を使用します。