在句子中找到单词的数量

时间:2011-02-09 21:43:37

标签: c# regex

我想找到使用正则表达式在后面的句子中使用“dear”字的次数。有任何想法吗?所以在这个例子中我应该得到4

  

Hello DEAR Friend,这是一个包含单词dear重复的字符串;所以,亲爱的,如果你能保持亲爱的用词,那就太棒了

2 个答案:

答案 0 :(得分:5)

Regex reg = new Regex("\\bdear\\b", RegexOptions.IgnoreCase);
int count = reg.Matches(input).Count;

或者我在你的问题中遗漏了什么?

答案 1 :(得分:1)

正如您所说的那样,您不需要使用正则表达式。你应该通常使用字符串操作而不是正则表达式;在这种情况下,只有当您的目标(在您的示例中为dear)将成为整个有效选择类时,您才需要它。

除非是这种情况,否则我建议使用字符串操作。一种可能性:

int count = source.ToLower().Split("dear").Length - 1;

我对更高效的版本持开放而不必使用ToLower(),但对于大多数用途我不会担心。它应该仍然比正则表达式快。