我是新手,尝试过搜索,但还不太了解,所以我想请求论坛寻求帮助。
我想从下面的代码中将结果放到文本框中但是出错了。 对如何克服它感到困惑,感谢任何帮助。我认为从linqIgroup到string的转换是一个错误,将其放入textboxt.Text
它将显示文本文件中出现的最多单词。
string sentence;
string[] result = {""};
sentence = txtParagraph.Text;
char[] delimiters = new char[] { ' ', '.', '?', '!' };
string[] splitStr = sentence.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
var dic = splitStr.ToLookup(w => w.ToLowerInvariant());
var orderedDic = dic.OrderByDescending(g => g.Count(m=>m.First()).ToString()));
txtFreqWord.Text = orderedDic.ToString();
答案 0 :(得分:2)
尝试以下操作来完成您的工作。我正在使用正则表达式。
var resultsList = System.Text.RegularExpressions.Regex.Split("normal text here normal normal".ToLower(), @"\W+")
.Where(s => s.Length > 3)
.GroupBy(s => s)
.OrderByDescending(g => g.Count());
string mostFrequent = resultsList.FirstOrDefault().Key;
要获得所有这些计数,请执行以下操作:
foreach (var x in resultsList) { txtFreqWord.Text = txtFreqWord.Text + x.Key + " " + x.Count() +", "; }