indexOf() в Java - найти в строке символ и его индекс

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr

Данная статья:

  • написана командой Vertex Academy. Надеемся, что она Вам будет полезна. Приятного прочтения!
  • это одна из статей из нашего "Самоучителя по Java"

Метод indexOf() в Java

Метод indexOf() ищет в строке заданный символ или строку, и их возвращает индекс (т.е. порядковый номер). Метод:

  • возвращает индекс, под которым символ или строка первый раз появляется в строке;
  • возвращает (-1) если символ или строка не найдены.

Метод также может искать символ или строку, начиная с указанного индекса.

Библиотека:

Синтаксис метода:

или

Вызов:

или

Пример 1:

Если Вы запустите данный код на своем компьютере, в консоли Вы увидите следующее:

Комментарии к коду:

У нас есть строка "Hello". С помощью метода indexOf мы искали индекс трех символов - 'H', 'o' и 'W'.

  • Символ 'H' стоит первым в строке. indexOf возвращает ноль.
  • Символ 'o' стоит в конце строки. Получаем его индекс 4.
  • Символ 'W' не встречается в строке "Hello". Получаем (-1).
Пример 2:

Если Вы запустите данный код на своем компьютере, в консоли Вы увидите следующее:

Комментарии к коду:

У нас есть строка "Hello". С помощью метода indexOf мы искали индекс трех символов - 'H', 'o' и 'W', но теперь начиная с символа под индексом 2.

  • Символ 'H' стоит первым в строке. Но так как первые два символа в строке игнорируются,  indexOf возвращает -1 ("символ не найден").
  • Символ 'o' стоит в конце строки. Он находится после второго символа, а значит функция его "видит". Как и в прошлом примере, получаем 4.
  • Символ 'W' не встречается в строке "Hello". Как и в прошлом примере, получаем (-1).
Пример 3:

Если Вы запустите данный код на своем компьютере, в консоли Вы увидите следующее:

Комментарии к коду:

Посмотрим, как метод ищет строки. У нас есть переменная "Good morning". В ней мы ищем три подстроки: "morni", "Vertex" и "Good morning".

  • "morni" - это часть строки "Good morning". Первый символ найденной подстроки "morni" имеет индекс 5. Поэтому, в консоли получаем 5.
  • "Vertex" в строке не встречается. Получаем -1;
  • "Good morning" мы ищем три раза.
    • Первый раз мы задавали отрицательный индекс (-2). Метод indexOf интерпретирует его как ноль (т.е. "искать с начала строки"). Поэтому, в консоли получаем индекс ноль - начало подстроки совпадает с началом основной строки.
    • Во второй раз мы задаем значение 2. Фактически, теперь метод проверяет, встречается ли в строке "od morning" подстрока"Good morning". Нет, не встречается. Получаем (-1) в консоли.
    • В третий раз мы задаем значение, которое явно больше длины строки 888. Это как если бы мы искали что-то в пустой строке. Получаем (-1).

Данная статья написана Vertex Academy. Можно пройти наши курсы Java с нуля. Детальнее на сайте.

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr
Самоучители--узнать детальнее--