文字列を複数の行に分割する最良の方法 質問する

文字列を複数の行に分割する最良の方法 質問する

複数行の文字列を複数の行に分割するにはどうすればよいですか?

この方法を知っている

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代わりに を使用します。

おすすめ記事