文字列内の部分文字列を見つけたいのですが、何度も発生する可能性があり、次のようになります。
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が返ってきたら終了する。
2 番目のパラメーターを使用して、文字列を「前方に移動」します。
String.indexOf(String str) を使用できると思います
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
、部分文字列の出現回数を示します。
それが役に立てば幸い。