gpt4 book ai didi

rust - 去除 Url 路径的尾随文件名

转载 作者:行者123 更新时间:2023-11-29 07:56:03 28 4
gpt4 key购买 nike

我有一个 Url,我想获取路径部分但没有尾随文件名。如果 Urlhttp://my.com/dir1/dir2/file.ext 那么我想获取 /dir1/dir2 .

我已经尝试了各种拆分(let parts = url.path().split("/"); 等)以及收集和合并,代码很糟糕而且看起来效率低下。

最佳答案

使用 crate 时,了解 crate 关注的领域很有用。针对绝对 URL 解析相对路径是一种非常常见的情况。对于 url crate , 这是用 join 完成的:

use url::Url; // 2.1.0

fn main() {
let u = Url::parse("http://my.com/dir1/dir2/file.ext").unwrap();
let u2 = u.join("./").unwrap();
assert_eq!("/dir1/dir2/", u2.path());
}

您还可以使用 path_segments_mut :

use url::Url; // 2.1.0

fn main() {
let mut u = Url::parse("http://my.com/dir1/dir2/file.ext").unwrap();
u.path_segments_mut().unwrap().pop();
assert_eq!("/dir1/dir2", u.path());
}

关于rust - 去除 Url 路径的尾随文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48767287/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com