我是Java字符串的新手,问题是我想计算字符串中特定单词的出现次数。假设我的字符串是:
i have a male cat. the color of male cat is Black
现在,我也不想拆分它,所以我想搜索一个“雄猫”这个词。它在我的字符串中出现了两次!
我正在尝试的是:
int c = 0; for (int j = 0; j < text.length(); j++) { if (text.contains("male cat")) { c += 1; } } System.out.println("counter=" + c);
它给了我46个计数器的价值!那么解决方案是什么?
您可以使用以下代码:
String in = "i have a male cat. the color of male cat is Black"; int i = 0; Pattern p = Pattern.compile("male cat"); Matcher m = p.matcher( in ); while (m.find()) { i++; } System.out.println(i); // Prints 2
演示版
它匹配"male cat"。
"male cat"
while(m.find())
表示在m找到匹配项时执行循环内给出的任何操作。并且我将iby 的值递增i++,因此很显然,这给出了male cat一个字符串的数量。
m
i
i++
male cat