-2

我的程序:包含 5 个文本框,如下图所示:

在此处输入图像描述

我的目标:我想解析 settings.txt 文件中冒号" : "之后的任何内容。因此,例如:我想要(459800090581)。在阅读“第一本手册:(459800090581)”后显示在我的第一个文本框中。Settings.txt 文件中的行。这适用于其他各个领域。

我试图用谷歌搜索如何解析文本文件,但我找不到一个简单的文件解析程序,它可以帮助我学习和理解如何在 C# 中进行文件解析。这个程序将帮助我快速轻松地学习这项技术,非常感谢您的帮助!谢谢!!:)

4

2 回答 2

6

从以下内容开始:

char[] delimiters = new [] { ':' };

foreach (string line in File.ReadAllLines(@"some path"))
{
    if (!string.IsNullOrWhiteSpace(line))
    {
        string[] parts = line.Split(delimiters);

        if (parts != null && parts.Length == 2)
        {
            string label = parts[0];
            string value = parts[1];

            Console.WriteLine("Label: {0}, Value: {1}", label, value);
        }
    }
}

请参阅String.SplitString.IsNullOrWhiteSpaceFile.ReadAllLines

于 2013-08-27T17:40:51.740 回答
-1

这应该可以完成工作;

var path = @"---"; //Path to your settings file.
        RichTextBox rtb = new RichTextBox();
        System.IO.StreamReader sis = new System.IO.StreamReader(path);
        rtb.Text = sis.ReadToEnd();
        sis.Close();
        int counter = 0;
        foreach (string line in rtb.Lines)
        {
            if (line.Contains("(") == true && line.Contains(")") == true)
            {
                counter++;
                string numbers = line.Substring(line.IndexOf("("), line.IndexOf(")") - (line.IndexOf("(") - 1));
                switch (counter)
                {
                    case 1:
                        textBox1.Text = numbers;
                        break;

                    case 2:
                        textBox2.Text = numbers;
                        break;

                    case 3:
                        textBox3.Text = numbers;
                        break;

                    case 4:
                        textBox4.Text = numbers;
                        break;

                    case 5:
                        textBox5.Text = numbers;
                        break;
                }
            }
        }
于 2013-08-27T17:54:57.073 回答