⚙️
【Rust】String型のファイルパスからString型のファイル名を取得する方法
個人で簡単なCLIツールを作っているときに
引っかかったので記事にしてみました。
やり方としては
String型のファイルからいったんPathBufを作成し、
PathBufでファイル名を取ってきて
それをそのままString型に変換します。
use std::path::PathBuf
fn get_file_name(file_path: &String) -> String {
let path_buf = PathBuf::from(file_path);
let file_name = path_buf.file_name().unwrap()
.to_string_lossy()
.into_owned();
file_name
}
to_string_lossy
までだとCow列挙型が返ってきてしまい
どうしようかと悩んでいたのですが、
into_owned
でString型にできました……。
Discussion