我的项目中有一个.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#?
答案 0 :(得分:1)
您在寻找Substring
和IndexOf
吗?
string[] values = lines
.Select(line => line.Substring(line.IndexOf(':') + 1).TrimLeft())
.ToArray();
如果您想保留名称(例如Mode
,score_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();