gpt4 book ai didi

c# - LINQ 的字数统计

转载 作者:行者123 更新时间:2023-11-30 19:18:48 26 4
gpt4 key购买 nike

我需要用 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。我的日常工作有什么问题?

最佳答案

您可以将其作为 LINQ 的单行代码:

void Main()
{
string data = "Geo Prism GEO 1995 GEO* - ABS #16213899 HGEO-";
var target = "GEO";
var count = data.Select((c, i) => data.Substring(i)).Count(sub => sub.ToUpper().StartsWith(target));
Console.WriteLine(count.ToString());
}

结果:

4

关于c# - LINQ 的字数统计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11412218/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com