gpt4 book ai didi

c# - 读取文件时拆分字符串并忽略一个字符串 LINQ

转载 作者:行者123 更新时间:2023-11-30 14:24:10 24 4
gpt4 key购买 nike

我有一个类似的文件

56.32 211.398      1 81.0966
56.55 21.6862 1 51.2413
56.48 21.4071 2 298.1962
52.69 211.017 2 262.2705
53.88 211.759 3 258.1490
56.08 21.3705 3 262.2397

我想把它保存到一个列表中,去掉第三个位置的整数所以我会得到

56.32, 211.398, 81.0966
56.55, 21.6862, 51.2413
56.48, 21.4071, 298.1962
52.69, 211.017, 262.2705
53.88, 211.759, 258.1490
56.08, 21.3705, 262.2397

我在尝试:

List<double[]> fileData = new List<double[]>();
fileData = System.IO.File.ReadAllLines(fileName)
.Select(x => x.Split(new char[] { '\t', ' ' },
StringSplitOptions.RemoveEmptyEntries)
.Select(y => double.Parse(y))
.ToArray())
.ToList();

但我得到以下信息,如何忽略第三个数字?

56.32, 211.398,1, 81.0966
56.55, 21.6862,1, 51.2413
56.48, 21.4071,2, 298.1962
52.69, 211.017,2, 262.2705
53.88, 211.759,3, 258.1490
56.08, 21.3705,3, 262.2397

最佳答案

您可以使用 Where()使用采用索引并按该索引过滤的 lambda 的重载:

List<double[]> fileData = System.IO.File.ReadAllLines(fileName)
.Select(x => x.Split(new char[] { '\t', ' ' }, StringSplitOptions.RemoveEmptyEntries)
.Where((s, index) => index != 2) // filters out the third column
.Select(y => double.Parse(y))
.ToArray())
.ToList();

关于c# - 读取文件时拆分字符串并忽略一个字符串 LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42231241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com