Ищем символы в строке Java | OTUS

Ищем символы в строке Java

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

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

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

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

Кроме того, стоит добавить, что класс 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);

Представьте, что нам нужно отыскать в строке индекс первого вхождения требуемого символа/буквы, а также нужного слова. Как уже было сказано выше, метод 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-разработке, добро пожаловать на наш курс.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
1 комментарий
1

Спасибо!

Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто