4

如果我有一个很长的文本字符串并且想要提取长度大于 4 个字符的单词并且在字符串中找到超过 4 次,那么 LINQ 可以这样做吗?

4

1 回答 1

15

你也许可以把它收紧,但我相信它会起到以下作用

var results = inputstring.Split()
                .Where(word => word.Length > 4)
                .GroupBy(word => word)
                .Where(grp => grp.Count() > 4)
                .Select(grp => grp.Key);

当然,您需要决定如何处理可能出现的任何标点符号。

所以给定输入

var inputstring = @"The quick brown fox jumped over the lazy dog 
               The quick brown fox jumped over the lazy dog 
               The quick fox jumped over the lazy dog 
               The quick fox jumped over the lazy dog 
               The quick brown fox jumped over the lazy dog";

结果包含“quick”和“jumped”,因为唯一大于 4 个字符的其他单词(“brown”)只出现了 3 次。

于 2013-04-18T03:48:16.083 回答