你怎么拿一个字符串然后用c#中出现的单词组织其中的单词?

时间:2017-05-09 22:47:48

标签: c# visual-studio

好吧我不知道如何做到这一点,我已经尝试过如何做到这一点,但没有什么好事情出现这么恶心在这里问。所以我想做的是:

string input = TextEditor.text;    <-- this is in windows form application and
The "TextEditor" is the textbox for input

我想取字符串(从texct框输入)然后拆分它,这样每个字都在其他每一行上,如下所示:

如果输入=“我的名字是”

out put应该是:

hi: 1
my: 1
name: 1
is: 2 <-- if the word is said it shouldn't be repeated.
有人可以帮帮我吗?我是一个真正的新手,我完全迷失了。我还没有任何代码,因为我不知道如何做到这一点!

2 个答案:

答案 0 :(得分:2)

使用Linq GroupBy和Count:

string inputText = "hi my name is is";

var words = inputText.Split(' ').ToList();

var wordGroups = words.GroupBy(w => w).Select(grp => new {
                                                Word  = grp.Key,
                                                Count   = grp.Count()
                                            });

string outputText = string.Join("\n", wordGroups.Select(g => string.Format("{0}:\t{1}", g.Word, g.Count)));
/*
hi:  1
my:  1
name:  1
is:  2
*/

答案 1 :(得分:0)

将输入字符串拆分为数组,然后使用它来构建字典。如果单词已经在字典中,则递增它。否则添加初始值为1。

use [db_name];