我有一个文本文件,其中包含新行中的大量数据 但我想提取以值开头的行:
坐标=(111222333)
这条线有几个实例,我实际上想要提取部分“111,222,333” 我怎样才能做到这一点?
答案 0 :(得分:4)
像
这样的东西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()
答案 1 :(得分:3)
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();