【发布时间】:2014-04-29 06:39:33
【问题描述】:
我是 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 个计数器值!那么解决办法是什么?
【问题讨论】:
-
你能描述一下你认为这段代码是如何工作的(或者你希望它工作)吗?这将帮助我们更好地帮助您。
-
如果您想在
aaaa中搜索aa,应该得到什么结果?是2还是3? -
我给出了一个示例字符串,因此输出应该是 2,因为雄猫在字符串中出现了 2 次span>
-
不知道 Java,但取决于你想做什么,如果它有一个非正则表达式 find first string util,它可以让你在循环中每次指定起始位置(C++'string ' 类有这个),它应该更快。
-
好的,我查过了。您只需要
while((newndx=str.indexOf("male cat",oldndx))>-1){found++;oldndx=newndx+8;}