计算字符串生成器中的单词

我有一个字符串生成器,可以存储许多单词…例如,我做了

StringBuilder builder = new StringBuilder(); builder.Append(reader.Value); 

现在,builder包含字符串as

 " india is a great great country and it has many states and territories".. it contains many paragraphs. 

我希望每个单词都应该是唯一的,并且它的单词数量。 例,

 india: 1 great: 2 country: 1 and: 2 

此外,此结果应保存在Excel文件中。 但我没有得到结果。

我在谷歌搜索,但我通过linq或通过写单词本身得到它。 你能帮帮我吗? 我是初学者。

您可以使用Linq来实现它。 尝试这样的事情。

 var result = from word in builder.Split(' ') group word by word into g select new { Word = g.Key, Count = g.Count() }; 

你也可以将这个结果转换成这样的Dictionary对象

 Dictionary output = result.ToDictionary(a => a.Word, a => a.Count); 

因此,输出中的每个项目都将包含Word作为键,并且它的Count值为值。

嗯,这是获取话语的一种方法:

 IEnumerable words = builder.ToString().Split(' '); 

查看使用String.Split()函数将字符串分解为单词。 然后,您可以使用Dictionary来跟踪唯一单词及其计数。

但是,你并不真的需要一个StringBuilder – 当你将字符串连接在一起时, StringBuilder非常有用。 你在这里只有一个输入字符串,你不会添加它 – 你会将它拆分。

处理完输入字符串中的所有单词后,可以编写代码将结果导出到Excel。 最简单的方法是创建一个以逗号分隔的文本文件 – 搜索该短语并查看使用StreamWriter来保存输出。 Excel具有CSV文件的内置转换器。