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