如何从文本文件中查找单词,然后在 C# 上阅读该单词后面的下一个单词

本文关键字:单词 下一个 然后 文本 文件 查找 | 更新日期: 2023-09-27 17:56:04

好的,我有一个名为"info.txt"的txt文件,其中包含以下文本:

[entry]
title = Hello World
info = sometext
number = 0
available = -1
[entry]
title = All Vids
info = somemoretext
number = 1
available = 0
[entry]
title = All pics
info = somedifferenttext
number = 2
available = -1
[entry]
title = all music
info = differenttext
number = 3
available = 0

在 C# 上,我想做的是打开这个文件并搜索"title =",然后获取它后面的任何单词,然后将其放入文本框中。例如,在它查找"title ="之后,我希望它将"Hello World"放在 textbox1 中。然后,如果有另一个"标题=",即"所有视频",我想将其放在文本框2中。如果有更多的"title ="实例应该放在文本框3,文本框4等中,也应该这样做。

这是我从另一个答案中找到的工作:

        private void button1_Click(object sender, EventArgs e)
    {
        List<List<string>> groups = new List<List<string>>();
        List<string> current = null;
        foreach (var line in File.ReadAllLines(@"C:'Users'Rohul'Documents'info.txt"))
        {
            if (line.Contains("title") && current == null)
                current = new List<string>();
            else if (line.Contains("info") && current != null)
            {
                groups.Add(current);
                current = null;
            }
            if (current != null)
            richTextBox1.Text = line;
        }
    }

这个问题是它读取整行并读取最后一个条目

我希望有人能帮助我。提前致谢

如何从文本文件中查找单词,然后在 C# 上阅读该单词后面的下一个单词

假设您的数据位于名为 data.txt 的文件中。

逻辑:读取数据,按换行符拆分,查找包含"title ="的行。删除该标识符并获取该行的其余部分。

string data = File.ReadAllText("data.txt");
string identifier = "title =";
List<string> results = 
    data.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)
    .Where(x => x.Contains(identifier))
    .Select(x => x.Replace(identifier, String.Empty).Trim()).ToList();

之后,您将在 results 中拥有字符串列表。用它做任何你想做的事。

如果您需要像尝试的那样逐行阅读它,那么:

string identifier = "title =";
string data = File.ReadAllText("data.txt");
List<String> results = new List<string>();
foreach(string line in File.ReadAllLines("data.txt"))
{
    if(line.Contains(identifier))
    {
        results.Add(line.Replace(identifier, string.Empty).Trim());
    }
}

听起来您正在尝试读取 INI 文件。如果这是您的目的,请查看本文 使用 C# 的 INI 文件处理类或从 StackOverflow 读取/写入 INI 文件。