我想在一个字符串中找到一个子字符串,它可能会出现很多次,它甚至可能看起来像:
Search for: aba
Line: ababa
Result: 2
我忘记了我应该使用什么方法。
String s = "ababa", key="aba";
int limit= s.length()-key.length(), count = 0;
for(int i=0; i<=limit; i++) {
int index = s.indexOf(key, i);
if(index!=-1) {
i=index+1;
count++;
}
else {
break;
}
}
System.out.println(count);
使用循环计算String.indexOf(String str, int fromIndex)的命中次数,返回 -1 时退出。
使用第二个参数在您的字符串中“向前移动”。
您可以使用indexOf
如下方法:
String s = "ababa";
String r = "aba";
int count=0;
int startindex = s.indexOf(r);
while(startindex != -1)
{
count++;
startindex = s.indexOf(r,startindex+1);
}
的值count
将为您提供子字符串的出现次数。
希望能帮助到你。
我想你可以使用 String.indexOf(String str)