Ищем символы в строке Java
В этой статье мы рассмотрим, как выполнять поиск букв и других символов в строке Java, а также как проверять, находится ли нужный символ, буква или слово в строке, начиная с указанного индекса.
Строкой в Java называют упорядоченную последовательность символов. Как правило строка в Java — это один из основных носителей текстовой информации.
Для работы со строками в Java применяют классы String, StringBuilder и StringBuffer. Класс String включает методы, возвращающие позицию символа либо подстроки в строке: — indexOf() — для поиска с начала строки; — lastIndexOf() — для выполнения поиска с конца строки.
Таким образом, если метод
Кроме того, стоит добавить, что класс String включает в себя ещё и метод contains, возвращающий true, когда в строке содержится заданная последовательность символов. Этот метод рекомендуется использовать лишь тогда, когда вам просто нужно узнать о существовании подстроки в строке, при этом позиция не имеет значения.
Метод indexOf()
Библиотека метода:
Java.lang.String
Синтаксис следующий:
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);
Представьте, что нам нужно отыскать в строке индекс первого вхождения требуемого символа/буквы, а также нужного слова. Как уже было сказано выше, метод
Посмотрите на следующий код:
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-разработке, добро пожаловать на наш курс.