Метод 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,
который проверяет, заканчивается ли строка подстрокой