Я пытаюсь найти общее количество появления слова в предложении. Я попытался следующий код:Как получить общее количество появления слова в предложении
String str = "This is stackoverflow and you will find great solutions here.stackoverflowstackoverflow is a large community of talented coders.It hepls you to find solutions for every complex problems.";
String findStr = "hello World";
String[] split=findStr.split(" ");
for(int i=0;i<split.length;i++){
System.out.println(split[i]);
String indexWord=split[i];
int lastIndex = 0;
int count = 0;
while(lastIndex != -1){
lastIndex = str.indexOf(indexWord,lastIndex);
System.out.println(lastIndex);
if(lastIndex != -1){
count ++;
lastIndex += findStr.length();
}
}
System.out.println("Count for word "+indexWord+" is : "+count);
}
Если я передаю строку, как «решение стеки», то строка должна быть разделена на два (пространства раскола) и не нужно, чтобы найти не появление каждой строки в предложении . Счет отлично, если я передаю только одно слово. Код должен соответствовать даже подстрокам, содержащим искомую строку. Например: - В предложении «стек» apperars три раза, но счет только 2.
Спасибо.
Заменить 'lastIndex + = findStr.length();' с 'lastIndex + = indexWord.length();'? – qxz
great.its отлично работает сейчас. Спасибо за сохранение моего времени. –
Я добавлю ответ, чтобы этот вопрос можно было пометить как разрешенный – qxz