我需要通过 LINQ 计算字数。这是我用来计算长字符串数组中单词的代码,但这不是很有效:
public static int WordCount(string haystack, string needle)
{
if (needle == null)
{
return 0;
}
string[] source = haystack.Split(new char[] { '.', '?', '!', ' ', ';', ':', ',', '*', '-' }, StringSplitOptions.RemoveEmptyEntries);
var matchQuery = from word in source
where word.ToLowerInvariant() == needle.ToLowerInvariant()
select word;
int count=matchQuery.Count();
return count;
}
假设我有一个这样的字符串:
Geo Prism GEO 1995 GEO* - ABS #16213899 HGEO-
如果我尝试在上面的句子中找到 GEO,我的例程不会返回正确的计数:我希望4。我的日常有什么问题?