РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
870 of 1245 menu

Метод with_extension

Метод with_extension создаёт новый объект PathBuf на основе текущего пути, заменяя у него расширение файла на указанное. Параметром метод принимает новое расширение в виде строки. Если у исходного пути расширения не было, оно будет добавлено. Если новое расширение пустое, старое расширение удаляется.

Метод не изменяет исходный путь, а возвращает новый объект PathBuf. Если у пути нет имени файла, например путь заканчивается на .., то расширение не будет добавлено.

Синтаксис

path.with_extension(ext)

Пример

Давайте заменим расширение у пути "file.txt" на "md":

use std::path::Path; fn main() { let path = Path::new("file.txt"); let res = path.with_extension("md"); println!("{:?}", res); }

Результат выполнения кода:

"file.md"

Пример

Давайте добавим расширение к пути, у которого его изначально не было:

use std::path::Path; fn main() { let path = Path::new("file"); let res = path.with_extension("txt"); println!("{:?}", res); }

Результат выполнения кода:

"file.txt"

Пример

Давайте удалим расширение у пути, передав пустую строку:

use std::path::Path; fn main() { let path = Path::new("file.txt"); let res = path.with_extension(""); println!("{:?}", res); }

Результат выполнения кода:

"file"

Пример

Давайте заменим расширение у пути с директориями:

use std::path::Path; fn main() { let path = Path::new("src/main.rs"); let res = path.with_extension("toml"); println!("{:?}", res); }

Результат выполнения кода:

"src/main.toml"

Смотрите также

  • метод extension,
    который возвращает расширение файла из пути
  • метод with_file_name,
    который возвращает путь с изменённым именем файла
  • метод file_stem,
    который возвращает имя файла без расширения
  • метод file_name,
    который возвращает имя файла из пути
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить