Как узнать все вхождения символа в строке в java?

Пользователь

от marlen , в категории: Java , 2 месяца назад

Как узнать все вхождения символа в строке в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от rebekah , 18 дней назад

@marlen 

В Java можно использовать метод indexOf(char ch, int fromIndex) класса String, чтобы найти индекс первого вхождения символа ch в строке, начиная с позиции fromIndex. Этот метод будет возвращать -1, если символ не найден.


Чтобы найти все вхождения символа в строке, можно использовать цикл, повторяющийся до тех пор, пока не будет достигнут конец строки. В каждой итерации цикла можно использовать метод indexOf() для поиска следующего вхождения символа, начиная с позиции, следующей после предыдущего вхождения.


Вот пример кода, который иллюстрирует этот подход:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
public class Main {
    public static void main(String[] args) {
        String str = "Hello, World!";
        char ch = 'o';

        int index = str.indexOf(ch);
        while (index >= 0) {
            System.out.println("Найдено вхождение символа '" + ch + "' в позиции " + index);
            index = str.indexOf(ch, index + 1);
        }
    }
}


Этот код выведет следующий результат:

1
2
Найдено вхождение символа 'o' в позиции 4
Найдено вхождение символа 'o' в позиции 7


Обратите внимание, что индексы символов считаются с 0.