搜索特定值的文本文件并提取下一行数

时间:2017-03-01 21:26:50

标签: c# text-files

我已经通过无数类似的搜索进行了潦草,但是在使用特定单词搜索后,我无法找到如何从文本文件中提取行。我想要做的是下面连同我的文本文件和代码,感谢您的帮助。我可以显示交易号,但我不知道如何添加其余的相关信息。

我的目标 用户案例:客户向员工提供交易编号。员工在系统中查找交易号,并可以查看交易详情。客户询问这些细节,因为他可能在投资到期时忘记了这些细节。

我的文字文件是什么样的 交易号:100002 投资者:Daryn Tully先生 交易日期:2017年3月1日 存款金额:€100000 利息金额:19.18欧元一周后的利息 利率:1% 投资期限:6周

交易号:100002 投资者:GHSHSH GGSGS先生 交易日期:2017年3月1日 存款金额:100欧元 利息金额:€191.78一周后的利息 利率:5% 投资期限:1周

交易号:100003 投资者:111 111 1111 交易日期:2017年3月1日 存款金额:€11111111 利息金额:€2,130.90一周后的利息 利率:1% 投资期限:1周

我的代码

  private void SearchButton_Click(object sender, EventArgs e)
        {
            try
            {
                string Line;
                string TransactionHistory;

                string SearchKeyword = "Transaction number ";

                StreamReader InputFile;

                InputFile = File.OpenText("TransactionHistory.txt");

                while (!InputFile.EndOfStream)
                {
                    String[] lineElements = new String[2];
                    Line = InputFile.ReadLine();
                    lineElements = Line.Split(':');

                    if (Line.Contains(SearchKeyword))
                    {
                        TransactionHistory = (lineElements[1].TrimStart());

                        if (TransactionHistory.Equals(TransactionNumberTextBox.Text))
                        {
                            SummaryListBox.Items.Add(Line);
                        }
                        else
                        {
                            MessageBox.Show("No matches found");
                            TransactionNumberTextBox.SelectAll();
                            TransactionNumberTextBox.Focus();
                            break;
                        }
                    }
                }

            InputFile.Close();
        }

        catch
        {
            MessageBox.Show("Transaction number not found");
            TransactionNumberTextBox.SelectAll();
            TransactionNumberTextBox.Focus();
        }

0 个答案:

没有答案