从c#中的文本文件中提取特定数据

时间:2017-10-16 07:04:27

标签: c# file

我的项目中有一个.txt文件,其中包含以下内容:

Mode: 1
Number of candidates: 64
serial number: 111111101
room number: 111111111
score_1: 0
score_2: 0
Total: 0

我读取所有行并使用以下内容将其存储在数组中。

string[] lines = File.ReadAllLines("file.txt", Encoding.UTF8);

我想只提取每行的值,例如对于带有"房间号"的行,我想只提取没有空格的"111111111"并将其打印在控制台上并将其保存在变量中。我如何使用C#?

1 个答案:

答案 0 :(得分:1)

您在寻找SubstringIndexOf吗?

 string[] values = lines
   .Select(line => line.Substring(line.IndexOf(':') + 1).TrimLeft())
   .ToArray();

如果您想保留名称(例如Modescore_2等),请尝试Split

 KeyValuePair<string, string>[] data = lines
   .Select(line => line.Split(new char[] {':'}, 2))
   .Where(items => items.Length >= 2) // let's filter out lines without colon
   .Select(items => new KeyValuePair<string, string>(items[0], items[1].TrimLeft()))
   .ToArray();