Я пытаюсь использовать indexOf, чтобы найти все вхождения символов «в» в предложении. Например, если предложение было «На днях я пошел туда», он должен вернуться 3.indexOf, чтобы найти все вхождения слова в String
Я могу сделать это до того момента, когда он найдет первый индекс, но я не уверен, как написать цикл. У меня первоначально был цикл for, который искал всю строку, но возвращал полную длину символа строки, а не вхождения моего указанного символа. Как я могу написать цикл, который найдет все вхождения этого слова? Спасибо.
import java.util.Scanner;
public class TheFinder
{
public static void main (String[] args)
{
String theString = "";
Scanner enter = new Scanner(System.in);
System.out.println("Please enter a sentence: ");
theString = enter.nextLine();
int counter2 = 0;
theString.indexOf("the");
if (theString.indexOf("the")!= -1)
counter2++;
System.out.printf("The characters 'the' were found %d times", counter2);
System.out.println();
System.out.println("This was programmed by -----");
Я бы порекомендовал вас искать с регулярным выражением. –
Не могли бы вы объяснить, что вы подразумеваете под регулярным выражением? – srmjr
Дублирующий вопрос, вопрос был ранее дан в [этот пост] (http://stackoverflow.com/questions/275944/java-how-do-i-count-the-number-of-occurrences-of-a-char -in-a-string) – Hatley