gpt4 book ai didi

c# - 拆分、分组和计数字符串

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

我想在 C# 中对一个大字符串中的特定短语进行拆分、分组和计数。

下面的伪代码应该给出一些我正在努力实现的目标的指示。

var my_string = "In the end this is not the end";
my_string.groupCount(2);

==>
[0] : {Key: "In the", Count:1}
[1] : {Key: "the end", Count:2}
[2] : {Key: "end this", Count: 1}
[3] : {Key: "this is", Count: 1}
[4] : {Key: "is not", Count: 1}
[5] : {Key: "not the", Count: 1}

您会注意到,这并不像拆分字符串并计算每个子字符串那么简单。该示例每 2 个单词分组一次,但理想情况下它应该能够处理任何数量。

最佳答案

这里概述了如何处理此问题:

  • 使用string的常规Split方法获取单个单词
  • 为计数制作字典
  • 遍历所有成对的连续单词,构建复合键并递增计数

这里是你如何实现这个:

var counts = new Dictionary<string,int>();
var tokens = str.Split(' ');
for (var i = 0 ; i < tokens.Length-1 ; i++) {
var key = tokens[i]+" "+tokens[i+1];
int c;
if (!counts.TryGetValue(key, out c)) {
c = 0;
}
counts[key] = c + 1;
}

Demo.

关于c# - 拆分、分组和计数字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26617927/

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