我需要使用以下格式解析文本文件:
and -0.436527 -0.515304 -0.002056 -0.227969 0.177528 0.201756...
with 0.101336 0.493859 -0.081095 -0.391502 -0.111579 0.388659...
voice -0.168610 0.413912 0.423446 0.484159 -0.546614 0.558571...
可能有100个这样的尾随数字。现在我需要搜索某个文本,比如说语音并将数字存储在一个数组或任何更快的数据结构中,并对它们进行一些数学运算。实现它的最快方法是什么? 文本文件的大小可能是100 + MB!
谢谢!
答案 0 :(得分:1)
尝试使用File.ReadLines
并使用LINQ解析结果:
double[] numbers = File.ReadLines(path)
.Where(line => line.Contains("voice"))
.SelectMany(line => line.Split())
.Where(str => str.All(c => Char.IsDigit(c) || c == '-' || c == '.'))
.Select(str => Double.Parse(str, CultureInfo.InvariantCulture))
.ToArray();