问候大师,我有一个文本文件,其中包含需要将其分成单独的字符串数组的文本组。如何使用“start:”行作为分隔符对它们进行分组? (组可能包含不同的行数,但全部以“start:”开头。这是 LINQ 可以完成的工作吗?(每行都有单独的数据,在预览中看起来不是这样)。
List<string> lines = File.ReadAllLines(@"C:\test.txt").ToList();
开始:数据1
男孩:数据2
太棒了:数据3
开始:数据7
男孩:数据8
太棒了:数据 9
女孩:数据10
最佳答案
可能有一个 linq 解决方案,但是当您只需使用 for 循环来处理这个问题时,我认为不需要 linq,例如我认为下面的代码完成了您想要的操作:
var groups = new List<List<string>>();
foreach (var line in lines)
{
if (line.StartsWith("Start:"))
{
groups.Add(new List<string>());
}
groups[groups.Count - 1].Add(line);
}
我假设文件的第一行以 Start:
开头,否则您应该跳过第一行,直到到达第一个 start:
。
关于c# - LINQ;从文本文件中选择行组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7879543/