我想在字符串中找到一个子字符串,可能会多次出现,甚至可能看起来像:
Search for: aba
Line: ababa
Result: 2
我忘记了应该使用的方法。
答案 0 :(得分: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);
答案 1 :(得分:0)
我猜你可以使用String.indexOf(String str)
答案 2 :(得分:0)
使用循环计算String.indexOf(String str, int fromIndex)的点击次数,并在返回-1时退出。
使用第二个参数在你的字符串中“向前移动”。
答案 3 :(得分:0)
您可以使用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
的值将为您提供子字符串的出现次数。
希望它有所帮助。