gpt4 book ai didi

C# 合并同一个文本文件中的行

转载 作者:太空宇宙 更新时间:2023-11-03 17:15:57 24 4
gpt4 key购买 nike

我有一个这样的文本文件:

apple|2  
turkey|4
mango|11
apple|3
turkey|4
mango|4

我需要的结果是:

apple|5  
turkey|8
mango|15

有什么提示或建议吗?我知道有一些 Math.Abs​​ 之类的,我只是不确定如何组合这些线。任何帮助都会很棒。

最佳答案

File.WriteAllLines(
"test.txt",
File.ReadLines("test.txt")
.Select(line => line.Split('|'))
.Select(tokens => new
{
Value = int.Parse(tokens[1]),
Text = tokens[0]
})
.GroupBy(li => li.Text)
.Select(g => string.Format("{0}|{1}", g.Key, g.Sum(l => l.Value)))
.ToArray()
);

或者如果您愿意:

File.WriteAllLines(
"test.txt",
(from lineItem in
from line in File.ReadLines("test.txt")
let tokens = line.Split('|')
select new
{
Value = int.Parse(tokens[1]),
Text = tokens[0]
}
group lineItem by lineItem.Text into g
let sum = g.Sum(x => x.Value)
select string.Format("{0}|{1}", g.Key, sum)).ToArray()
);

关于C# 合并同一个文本文件中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4218220/

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