Метод strip_prefix
Метод strip_prefix удаляет указанный префикс
из пути. Он возвращает Some с оставшейся
частью пути, если префикс совпадает, и None
в противном случае. Параметром метод принимает
префикс, который нужно удалить из пути.
Синтаксис
path.strip_prefix(prefix)
Пример
Давайте удалим префикс "/usr" из пути
"/usr/bin/rustc":
use std::path::Path;
fn main()
{
let path = Path::new("/usr/bin/rustc");
let res = path.strip_prefix("/usr");
println!("{:?}", res);
}
Результат выполнения кода:
Ok("bin/rustc")
Пример
Давайте попробуем удалить префикс "/home"
из пути "/usr/bin/rustc", который не
совпадает:
use std::path::Path;
fn main()
{
let path = Path::new("/usr/bin/rustc");
let res = path.strip_prefix("/home");
println!("{:?}", res);
}
Результат выполнения кода:
Err(StripPrefixError(()))
Пример
Давайте удалим префикс "abcde" из пути
"abcde/12345":
use std::path::Path;
fn main()
{
let path = Path::new("abcde/12345");
let res = path.strip_prefix("abcde");
println!("{:?}", res);
}
Результат выполнения кода:
Ok("12345")
Смотрите также
-
метод
starts_with,
который проверяет, начинается ли путь с указанного префикса -
метод
ends_with,
который проверяет, заканчивается ли путь указанным суффиксом -
метод
join,
который присоединяет путь к текущему пути -
метод
parent,
который возвращает родительский каталог пути