C#的字符串替换问题

Ric*_*cky 1 c# asp.net

如何在以下url中删除粗体字符串,其中q =是固定参数?

http://abc.com/qwe.aspxq = DIEYeGJgNwvPSJ32ic1sY5x1ZYjOZTQZD9mjWl2EQJ8 =&u =/foo/boo/kb

谢谢.

Ale*_*lex 10

这很简单.我使用System.Uri类来解析url,然后删除q查询字符串参数,然后构建一个没有此参数的新url:

var url = new Uri("http://abc.com/qwe.aspx?q=DIEYeGJgNwvPSJ32ic1sY5x1ZYjOZTQZD9mjWl2EQJ8=&u=/foo/boo/kb");
var query = HttpUtility.ParseQueryString(url.Query);
query.Remove("q");
UriBuilder ub = new UriBuilder(url);
ub.Query = query.ToString();
var result = ub.Uri.ToString();
Run Code Online (Sandbox Code Playgroud)

现在result有价值:http://abc.com/qwe.aspx?u=/foo/boo/kb.

  • 这不是最简单的解决方案,但鉴于URL的来源缺乏上下文,它绝对是最正确的.+1 (2认同)