gpt4 book ai didi

url - Rust URL 删除特定的 GET 参数

转载 作者:行者123 更新时间:2023-12-03 11:35:26 25 4
gpt4 key购买 nike

我将此 URL 作为 String:"http://blah.com/a/b?a=1&b=2"

如何使用 Rust 删除或替换 b 的 GET 参数或完全去除参数?

rust-url 包的 ParseOptions 似乎没有为此提供任何东西。

我是否仅限于使用 String 方法来查找/替换?

最佳答案

let mut url = Url::parse("http://blah.com/a/b?a=1&b=2").unwrap();
url.set_query(None);

您也可以将查询成对地进行操作 https://docs.rs/url/2.1.1/url/struct.Url.html#method.query_pairs_mut

示例如何更新 b 的查询值(注意我是 Rust 初学者)

  use url::Url;
fn main() {
let url = Url::parse("http://blah.com/a/b?a=1&b=2").unwrap();
let query: Vec<(_, _)> = url.query_pairs()
.filter(|p| p.0 != "b")
.collect();

let mut url2 = url.clone();
url2.set_query(None);

for pair in query {
url2.query_pairs_mut()
.append_pair(&pair.0.to_string()[..], &pair.1.to_string()[..]);
}
url2.query_pairs_mut()
.append_pair("b", "5");

println!("New Query: {}", url2);
}

关于url - Rust URL 删除特定的 GET 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62691278/

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