Я хотел бы найти подстроку в строке в может происходить много раз, это может быть даже выглядеть следующим образом:Как найти вхождения подстроки в строке
Search for: aba
Line: ababa
Result: 2
Я забыл, какие методы следует использовать.
Я хотел бы найти подстроку в строке в может происходить много раз, это может быть даже выглядеть следующим образом:Как найти вхождения подстроки в строке
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 ул)
Используйте цикл для подсчета количества попадания 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
даст вам количество вхождений подстроки.
Надеюсь, это поможет.
* «Я забыл, какие методы я должен использовать». * - Хорошо читайте javadocs. Вот для чего они нужны! –
Является ли ваш результат предполагаемым последним индексом, на котором происходит подстрока? Сколько раз происходит строка? –