Ищем символы в строке Java
2026-03-10 21:57 Diff

Теги: java, string, символ, поиск, строка, метод, буква, знак, contains

В этой статье мы рассмотрим, как выполнять поиск букв и других символов в строке Java, а также как проверять, находится ли нужный символ, буква или слово в строке, начиная с указанного индекса.

Строкой в Java называют упорядоченную последовательность символов. Как правило строка в Java — это один из основных носителей текстовой информации.

Для работы со строками в Java применяют классы String, StringBuilder и StringBuffer. Класс String включает методы, возвращающие позицию символа либо подстроки в строке: — indexOf() — для поиска с начала строки; — lastIndexOf() — для выполнения поиска с конца строки.

Таким образом, если метод indexOf() найдёт заданную букву, символ либо строку, он вернёт индекс, то есть порядковый номер. Если не найдёт, будет возвращено -1. Также он позволяет искать символ или букву, начиная с указанного индекса.

Кроме того, стоит добавить, что класс String включает в себя ещё и метод contains, возвращающий true, когда в строке содержится заданная последовательность символов. Этот метод рекомендуется использовать лишь тогда, когда вам просто нужно узнать о существовании подстроки в строке, при этом позиция не имеет значения.

Метод indexOf()

Библиотека метода:

Синтаксис следующий:

public int indexOf(char ch) public int indexOf(char ch, int fromIndex)

либо

public int indexOf(String s) public int indexOf(String s, int fromIndex)

Соответственно, вызвать метод можно тоже несколькими способами:

int index = str1.indexOf(myChar); int index = str1.indexOf(myChar, start);

или:

int index = str1.indexOf(myString); int index = str1.indexOf(myString, start);

Представьте, что нам нужно отыскать в строке индекс первого вхождения требуемого символа/буквы, а также нужного слова. Как уже было сказано выше, метод indexOf() вернёт нам индекс первого вхождения, а в случае неудачи — вернёт -1.

Посмотрите на следующий код:

public class Main { public static void main(String[] args) { String str = "Otus — онлайн-образование"; int indexM = str.indexOf("з"); // Ищем символ в строке int indexJava = str.indexOf("онлайн"); // Ищем слово в строке if(indexM == - 1) { System.out.println("Символ \"з\" не найден."); } else { System.out.println("Символ \"з\" найден, его индекс: " + indexM); } if(indexJava == - 1) { System.out.println("Слово \"онлайн\" не найдено."); } else { System.out.println("Слово \"онлайн\" найдено, его индекс: " + indexJava); } } }

Результат получим следующий:

Символ "з" найден, его индекс: 18 Слово "онлайн" найдено, его индекс: 7

Метод contains

Бывают ситуации, когда нам необходимо проверить, содержит ли наша строка конкретный символ/букву либо слово. Нижеследующий Java-код продемонстрирует и этот пример:

public class Main { public static void main(String[] args) { String str = "Otus — онлайн-образование"; System.out.println("Слово \"Otus\" есть в строке str? Ответ: " + str.contains("Otus")); System.out.println("Символ \"z\" присутствует в строке str? Ответ: " + str.contains("z")); } }

В этом случае результат будет следующим:

Слово "Otus" есть в строке str? Ответ: true Символ "z" присутствует в строке str? Ответ: false

Как видите, выполнять поиск букв и других символов в строке Java совсем несложно, и наши элементарные примеры убедительно это подтверждают. Если же вы хотите получить более продвинутые навыки по Java-разработке, добро пожаловать на наш курс.