如何从文本中找到最大出现的单词?

huM*_*pty 5 c# linq asp.net

我有一个包含string值的数据库字段.我正在寻找一种方法来找到该字段中排名前10位的最大单词

Ufu*_*arı 8

首先从该字段中获取所有单词:

IEnumerable<string> allWords = from entry in table
                               from word in entry.Field.Split(' ')
                               select word;
Run Code Online (Sandbox Code Playgroud)

然后按他们的计数分组:

IEnumerable<string> result = from word in allWords
                             group word by word into grouped
                                 let count = grouped.Count()
                                 orderby count descending
                                 select grouped.Key;
Run Code Online (Sandbox Code Playgroud)

获得前10名的成绩:

result.Take(10);
Run Code Online (Sandbox Code Playgroud)


Kir*_*huk 2

var result =
    Regex.Matches(s, @"\b\w+\b").OfType<Match>()
        .GroupBy(k => k.Value, (g, u) => new { Word = g, Count = u.Count() })
        .OrderBy(n => n.Count)
        .Take(10);
Run Code Online (Sandbox Code Playgroud)