Метод starts_with
Метод starts_with проверяет, начинается ли путь
с указанного префикса. Он возвращает true,
если путь начинается с префикса, и false
в противном случае. Параметром метод принимает
префикс, с которым нужно сравнить начало пути.
Префикс может быть задан как строка, так и как путь Path.
Метод сравнивает компоненты пути, а не символы строки.
Это значит, что /foo/bar начинается с /foo,
но не начинается с /fo, потому что /fo -
это другой компонент пути.
Синтаксис
path.starts_with(prefix)
Пример
Давайте проверим, начинается ли путь "/foo/bar"
с префикса "/foo":
use std::path::Path;
fn main()
{
let path = Path::new("/foo/bar");
let res = path.starts_with("/foo");
println!("{}", res);
}
Результат выполнения кода:
true
Пример
Давайте проверим, начинается ли путь "/foo/bar"
с префикса "/fo":
use std::path::Path;
fn main()
{
let path = Path::new("/foo/bar");
let res = path.starts_with("/fo");
println!("{}", res);
}
Результат выполнения кода:
false
Как видите, /fo не является компонентом пути,
поэтому метод вернул false, хотя строка
"/foo/bar" и начинается с символов "/fo".
Пример
Давайте проверим, начинается ли относительный путь
"foo/bar/baz" с префикса "foo":
use std::path::Path;
fn main()
{
let path = Path::new("foo/bar/baz");
let res = path.starts_with("foo");
println!("{}", res);
}
Результат выполнения кода:
true
Пример
Давайте проверим, начинается ли путь "/foo/bar"
с префикса "/bar":
use std::path::Path;
fn main()
{
let path = Path::new("/foo/bar");
let res = path.starts_with("/bar");
println!("{}", res);
}
Результат выполнения кода:
false
Смотрите также
-
метод
ends_with,
который проверяет, заканчивается ли путь указанным суффиксом -
метод
strip_prefix,
который удаляет указанный префикс из пути -
метод
components,
который возвращает итератор по компонентам пути -
метод
join,
который присоединяет путь к текущему пути