Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 解析一个.txt文件并在C中的文本框中显示它#_C#_Visual Studio 2010 - Fatal编程技术网

C# 解析一个.txt文件并在C中的文本框中显示它#

C# 解析一个.txt文件并在C中的文本框中显示它#,c#,visual-studio-2010,C#,Visual Studio 2010,我的程序:包含5个文本框,如下图所示: 我的目标:我想解析settings.txt文件中冒号之后的任何内容:“”。因此,例如:我希望(459800090581)。在阅读Settings.txt文件中的“第一本手册:(459800090581)。”行后显示在我的第一个文本框中。这适用于其他各个字段 我试图在谷歌上搜索如何解析文本文件,但我找不到一个简单的文件解析程序来帮助我学习和理解如何在C#中解析文件。本课程将帮助我快速轻松地学习这项技术,非常感谢您的帮助!谢谢!!:) 从以下内容开始: ch

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

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


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

从以下内容开始:

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);
        }
    }
}

请参阅和。

这应该可以完成这项工作

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;
                }
            }
        }

查看将返回包含每行的数组的。然后研究在冒号上拆分的方法。这将为您获取所需字符串,此时您可以将其添加到文本框中。在这种情况下,您需要做的第一件事是将问题分解为更小的部分。第一个问题是如何逐行读取文件。一旦可以这样做,就需要解析每一行。我很惊讶你在这两个方面都找不到任何资源。没有必要创建一个RichTextBox来将每一行都变成一个字符串。您也在模拟字符串。不必要地拆分功能。太棒了!谢谢辛格。它有效。:)再次感谢你帮助我。