1

ハイマイフレンズ:)

だから私はちょっとした問題を抱えています。私は次の内容のテキストファイルを持っています。これは電子メールスクリプトからのものです。

Email: usera@hotmail.com
Status: done
Lang: En
Date: 05-10-2012
--------------------------------
Email: userb@hotmail.com
Status: waiting
Lang: En
Date: 05-10-2012

では、このテキスト ファイルを読み込んで、メールとステータスのみをリッチテキスト ボックスに書き込みます。このような

usera@hotmail.com;done
userb@hotmail.com;waiting

「;」で区切られた Richtextbox には、ステータスと電子メールのみを含める必要があります。他のテキスト (Lang 、Date) は無視できます。

私の考えは、ストリーム内のテキスト ファイルを読み取り、Foreach fuc を使用して "Email" と "Status" を検索し、Richbox に印刷することでしたが、これは良い方法ではないと思います。それで、これを可能にする最善の方法は何ですか?

私のテストコード

string[] filea = File.ReadAllLines("test.txt");
        foreach (var s in filea)
        {
            if (s.Contains("Email"))
            {

              richTextBox1.AppendText(s + Environment.NewLine);
           }

        }

しかし、どうすれば「ステータス」も取得できますか?前もって感謝します :)

4

1 に答える 1

1

要求された出力を取得するには、各行を分割してから、必要な部分だけを取得する必要があります。

string[] filea = File.ReadAllLines("test.txt");
foreach (var s in filea)
{
    string[] parts = s.Split(':');

    if (parts.Length == 2)
    {
        if (parts[0].Contains("Email"))
            richTextBox1.AppendText(parts[1].Trim());

        if (parts[0].Contains("Status"))
            richTextBox1.AppendText(":" + parts[1].Trim() + Environment.NewLine);
    }
}
于 2012-10-05T15:39:19.673 に答える