逐行比较/搜索文本文件搜索特定单词

时间:2012-10-05 15:26:46

标签: c# text compare

Hy my friends:)

所以我有一个小问题,我有一个包含以下内容的文本文件 这是我从电子邮件脚本。

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

好了,现在我将阅读此文本文件,并在Richtextbox中只编写电子邮件和状态。 喜欢这个

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

只有状态和电子邮件应该在Richtextbox中与“;”一起分隔 可以忽略其他文本(Lang,Date)。

我的想法是在流中读取文本文件并尝试使用Foreach fuc查找“电子邮件”和“状态”然后在Richbox中打印,但我认为这不是一个好方法。 所以我问你,最好的方法是什么?

我的测试代码

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

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

        }

但我如何进入“状态”呢? 在此先感谢:)

1 个答案:

答案 0 :(得分: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);
    }
}