Метод rfind
Метод rfind ищет последнее вхождение подстроки
в строке и возвращает его позицию в виде
Option<usize>.
Если подстрока найдена, возвращается Some
с индексом начала последнего вхождения. Если подстрока
не найдена, возвращается None. Параметром метод
принимает подстроку, которую нужно найти.
Синтаксис
str.rfind(pat)
Пример
Давайте найдём позицию последнего вхождения подстроки
"cd" в строке "abcdeabcde":
fn main()
{
let res = "abcdeabcde".rfind("cd");
println!("{:?}", res);
}
Результат выполнения кода:
Some(7)
Пример
Давайте попробуем найти подстроку "xyz",
которой нет в строке "abcdeabcde":
fn main()
{
let res = "abcdeabcde".rfind("xyz");
println!("{:?}", res);
}
Результат выполнения кода:
None
Пример
Давайте сравним результаты работы методов find
и rfind на одной и той же строке:
fn main()
{
let s = "abcdeabcde";
let first = s.find("cd");
let last = s.rfind("cd");
println!("{:?}", first);
println!("{:?}", last);
}
Результат выполнения кода:
Some(2)
Some(7)
Смотрите также
-
метод
find,
который возвращает позицию первого вхождения подстроки -
метод
contains,
который проверяет наличие подстроки в строке -
метод
starts_with,
который проверяет, начинается ли строка с подстроки -
метод
ends_with,
который проверяет, заканчивается ли строка подстрокой