Метод extension
Метод extension возвращает расширение файла,
содержащееся в пути Path. Метод не принимает
параметров и возвращает значение типа
Option<&OsStr>. Если у файла есть расширение,
возвращается Some с расширением без точки,
иначе возвращается None.
Синтаксис
path.extension()
Пример
Давайте получим расширение из пути "file.txt":
use std::path::Path;
fn main()
{
let path = Path::new("file.txt");
let res = path.extension();
println!("{:?}", res);
}
Результат выполнения кода:
Some("txt")
Пример
Давайте получим расширение из пути с полным адресом
"/home/user/document.pdf":
use std::path::Path;
fn main()
{
let path = Path::new("/home/user/document.pdf");
let res = path.extension();
println!("{:?}", res);
}
Результат выполнения кода:
Some("pdf")
Пример
Давайте получим расширение из пути, у которого
нет расширения - "abcde":
use std::path::Path;
fn main()
{
let path = Path::new("abcde");
let res = path.extension();
println!("{:?}", res);
}
Результат выполнения кода:
None
Пример
Давайте извлечём расширение и преобразуем его
в строку с помощью to_str:
use std::path::Path;
fn main()
{
let path = Path::new("archive.tar.gz");
let res = path.extension().and_then(|ext| ext.to_str());
println!("{:?}", res);
}
Результат выполнения кода:
Some("gz")
Смотрите также
-
метод
file_stem,
который возвращает имя файла без расширения -
метод
file_name,
который возвращает имя файла из пути -
метод
with_extension,
который заменяет расширение файла в пути -
метод
Path,
который представляет путь к файлу или директории