C# 分析文本文件以提取特定行

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

我有一个文本文件,每个文本文件在新行上都包含大量数据但我想提取以值开头的行:

坐标=(111,222,333(

这条线有几个实例,我实际上想提取部分"111,222,333"我该怎么做?

C# 分析文本文件以提取特定行

类似

var result = File.ReadAllLines(@"C:'test.txt")
    .Where(p => p.StartsWith("coordinates=("))
    .Select(p => p.Substring(13, p.IndexOf(')') - 13));

第一行很清楚,第二行只过滤以coordinates=(开头的行,第三行提取子字符串(13是coordinates=(的长度(

result是一个IEnumerable<string>。您可以使用result.ToArray()将其转换为数组

var text = File.ReadAllText(path);
var result = Regex.Matches(text, @"coordinates='(('d+),('d+),('d+)')")
        .Cast<Match>()
        .Select(x => new
        {
            X = x.Groups[1].Value,
            Y = x.Groups[2].Value,
            Z = x.Groups[3].Value
        })
        .ToArray();