如何在 Rust 中去除路径并获取文件名?

5

我有一个向量,其中包含一组文件路径,它可以获取mp3文件列表。我需要做的是删除路径并从每个向量项中获取文件名,因此如果我的路径是/home/user/Downloads/filename.ext,那么提取出来的字符串应该是filename.ext,我该如何在Rust中实现?


3
如果您有一个 Path,请使用 file_name() 方法;如果您有一个 String,请使用 rfind 方法查找最后一个 /,然后提取文件名。 - Andrew
6
将字符串转换为路径(Path)可能更加稳健。 - Finomnis
另外,@davMe,请提供更多细节。安德鲁的假设表明你的问题不完整。 - Finomnis
1个回答

10
你可以尝试使用标准库中的std::path::Path实用工具。
use std::path::Path;

let path = Path::new("my_folder/file.txt");
let filename = path.file_name().unwrap();

println!("{}", filename.to_str().unwrap());

2
新手需要的 Rust 包丢失了 :) - Ross Youngblood
1
哦,是的。别忘了使用 use std::path::Path; 导入 crate。干杯。 - Deze

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接