DOBON.NET DOBON.NETプログラミング掲示板過去ログ

C#でタブや改行文字を使って配列に切り分ける方法

環境/言語:[XP, C#, .NET 1.1]
分類:[.NET]

いつもお世話になります。
C#で開発をしています。「どぼん」は開発にとても参考になっています。

OCRソフトの認識結果は、WApp.OcrGetResult();で求められます。
そして中身は、エスケープシーケンスを使って、
改行や、タブが挿入されています。
"103\r\n00185\r\n10\r\n07\r\nT1\t1\r\nT2\ts......."

下記のようなコードを書き
これを一行づつ配列に入れようと思いましたが、
うまく切り分けることができません。
string RESULT = WApp.OcrGetResult();
RESULT = RESULT.Replace(@"\r\n","X");
string [] ROWS = RESULT.Split('X');

同様の質問を検索してみましたが見つけることができませんでした。
どなたかご教授お願いいたします
重複する質問でしたらご容赦ください。
ROY
こういうのを使いましょう。(^^
http://naka.wankuma.com/site/library/dotnet1.1/Wankuma.IO.CSV1d.htm
こんにちは、じゃんぬ です。

■No13145に返信(ROYさんの記事)
> string RESULT = WApp.OcrGetResult();
> RESULT = RESULT.Replace(@"\r\n","X");
> string [] ROWS = RESULT.Split('X');

@ は不要ですよね。
@"\r\n" は改行を表していません。
ただの文字列として '\', 'r', '\', 'n' を表しています。

何も考えないで分割できましたが、如何でしょうか?

private static void OneMethod()
{
    string ocrString = "103\r\n00185\r\n10\r\n07\r\nT1\t1\r\nT2\ts";

    string[] rows = ocrString.Split(new char[] {'\r', '\n'});

    foreach (string row in rows) {
        MessageBox.Show(row);
    }
}

それと、変数名がガイドラインから逸脱しすぎています。
すべてが大文字の変数は、定数を意味することが多いので止めた方が無難です。
(COBOL じゃないですからね)
中さん、じゃんぬさん
いつもありがとうございます。

おかげで先に進むことができます。

またよろしくお願いします。
ROY

DOBON.NET | プログラミング道 | プログラミング掲示板