改行が単一CR
の文字であることはめったになく、古い Macintosh システム (バージョン 9 以前) でのみ使用されることがほとんどです。一般的な改行はCR+LF
(Windows) とLF
(Unix/OS X) です。
間違った改行で文字列を分割すると、文字列全体が配列内の単一項目として影響を受けないままになるか、文字列に改行文字の半分が残ることになります。いずれにせよ、文字列を解析することはできません。
Windows タイプの改行を含む文字列の場合:
Dim splitText() As String = TextRead.Split(ControlChars.CrLf)
Unix/OS X タイプの改行を含む文字列の場合:
Dim splitText() As String = TextRead.Split(ControlChars.Lf)
両方の種類の改行を処理するには:
Dim splitText() As String = TextRead.Split(New String() { ControlChars.CrLf, ControlChars.Lf }, StringSplitOptions.None)
現在のシステムの改行を使用するには:
Dim splitText() As String = TextRead.Split(New String() { Envitonment.NewLine }, StringSplitOptions.None)
文字列に 10 進形式の数値が含まれている場合 (たとえば13{break}37{break}42
、 の場合)、文字列をバイトに解析できるようになります。
Dim byteArray() as Byte = splitText.Select(AddressOf Byte.Parse).ToArray()
すべてワンライナーとして:
Dim byteArray() as Byte = TextRead.Split(ControlChars.CrLf).Select(AddressOf Byte.Parse).ToArray()