2

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

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

现在,构建器包含字符串

" 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 或自己写单词来获取的。你能帮帮我吗?我是初学者。

4

3 回答 3

4

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

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

您也可以像这样将此结果转换为 Dictionary 对象

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

所以这里输出中的每个项目都将包含Word作为键和Count值。

于 2013-05-16T01:40:38.630 回答
1

好吧,这是获取单词的一种方法:

IEnumerable<string> words = builder.ToString().Split(' ');
于 2013-05-16T01:36:12.853 回答
0

研究使用该String.Split()函数将字符串分解为单词。然后,您可以使用 aDictionary<string, int>来跟踪唯一单词及其计数。

但是,您实际上并不需要 a StringBuilder-StringBuilder当您将字符串连接在一起时, a 很有用。你在这里只有一个输入字符串,你不会添加它 - 你会拆分它。

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

于 2013-05-16T01:36:08.847 回答