\r
, \n
, \r\n
が混在する文字列の分割はTextReaderを使うことでも行えます。 例として、StringReaderを使った行分割は次のように行うことができます。
StringReaderを使って文字列を行ごとに分割する
using System;
using System.IO;
class Sample {
static void Main()
{
var text = "1行目\r\n2行目\n3行目\r4行目\n\r6行目";
var r = new StringReader(text);
for (;;) {
var line = r.ReadLine();
if (line == null) break;
Console.WriteLine(line);
}
}
}
TextReaderを使った行ごとの読み込みに関してはStreamReaderクラス・StreamWriterクラス §.1行ずつの読み込み (ReadLine)、StringReaderについてはStringReaderクラス/StringWriterクラス §.StringReaderクラスで解説しています。