РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
133 of 1245 menu

Метод find

Метод find ищет первое вхождение подстроки в строке и возвращает его позицию в виде Option<usize>. Если подстрока найдена, метод возвращает Some с индексом начала вхождения, а если не найдена - None. Параметром метод принимает подстроку, которую нужно найти. Поиск ведётся слева направо, поэтому метод находит именно первое вхождение.

Синтаксис

str.find(pat)

Пример

Давайте найдём позицию подстроки "cd" в строке "abcde":

fn main() { let res = "abcde".find("cd"); println!("{:?}", res); }

Результат выполнения кода:

Some(2)

Пример

Давайте найдём позицию подстроки "xy" в строке "abcde". Такой подстроки в строке нет, поэтому метод вернёт None:

fn main() { let res = "abcde".find("xy"); println!("{:?}", res); }

Результат выполнения кода:

None

Пример

Если подстрока встречается несколько раз, метод возвращает позицию только первого вхождения. Давайте найдём позицию подстроки "a" в строке "abcade":

fn main() { let res = "abcade".find("a"); println!("{:?}", res); }

Результат выполнения кода:

Some(0)

Смотрите также

  • метод rfind,
    который возвращает позицию последнего вхождения подстроки
  • метод contains,
    который проверяет наличие подстроки в строке
  • метод starts_with,
    который проверяет, начинается ли строка с подстроки
  • метод ends_with,
    который проверяет, заканчивается ли строка подстрокой
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить