gpt4 book ai didi

c# - 从大量字符串列表中计算相同的字符串

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

我有超过 60 万行字符串。我想对相同的字符串进行分组并了解它们的计数。

举个例子

i go to school
i like music
i like games
i like music
i like music
i like games
i like music

所以结果会是

i go to school , 1
i like games , 2
i like music , 4

我怎样才能以最快的方式做到这一点?

最佳答案

GroupBy 方法是你想要的。您需要将字符串放在列表中或实现 IEnumerable<string> 的内容中. File.ReadLines spender 的建议将返回 IEnumerable<string>逐行读取文件。

var stringGroups = File.ReadLines("filename.txt").GroupBy(s => s);
foreach (var stringGroup in stringGroups)
Console.WriteLine("{0} , {1}", stringGroup.Key, stringGroup.Count());

如果您希望它们按从少到多的顺序排列(如您的示例所示),只需添加 OrderBy

...
foreach (var stringGroup in stringGroups.OrderBy(g => g.Count()))
...

关于c# - 从大量字符串列表中计算相同的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8834157/

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