从文本文件中提取数据

本文关键字:提取 数据 文件 文本 | 更新日期: 2023-09-27 18:02:28

我有一个这样开头的文本文件:

[Details]
Version=100
Switch=340
Video=800
Date=20100912
Length=00:49:34.2
Days=1
hours=20

是否有一种方法,我可以检查[Details]节内的每一行,然后做这样的事情?

if(line == "version")
{
   // read the int 100
}

文本文件中还有我不感兴趣的其他文本。我只需要找到[Details]部分

从文本文件中提取数据

        using (StreamReader sr = new StreamReader(path)) 
        {
            while (sr.Peek() >= 0) 
            {
                var keyPair =  sr.ReadLine();
                var key = keyPair.Split('=')[0];
                var value = keyPair.Split('=')[1];
            }
        }

您可以使用File.ReadAllLines找到Version的行,然后从那里解析int

foreach (var line in File.ReadAllLines("file").Where(line => line.StartsWith("Version")))
{
    int value = 0;
    if (int.TryParse(line.Replace("Version=","").Trim(), out value))
    {
        // do somthing with value
    }
}

或者如果文件只包含1行版本

string version = File.ReadAllLines("file").FirstOrDefault(line => line.StartsWith("Version="));
int value = 0;
if (int.TryParse(version.Replace("Version=", "").Trim(), out value))
{
    // do somthing with value
}