我正在开发一个C#/ ASP.Net应用程序,我正在尝试找到一种方法,将URL分解为其组成部分,然后交换,删除这些部分并创建新的URL。
例如,如果我有以下网址:
我想将网址拆分为:
一旦URL被拆分,我想操纵每个部分,例如:
然后,一旦我完成,请创建一个准备好与上述更改一起使用的新URL。
我已经查看了MSDN文档等,但在.Net中找不到实用程序类来处理这个问题。有什么想法吗?
干杯, 史蒂夫
答案 0 :(得分:4)
为此目的,框架附带UriBuilder class。
它已获取/设置所需内容的属性:
当您完成对UriBuilder的操作时,使用Uri属性将结果作为Uri对象获取,或者如果您只需要将URL作为字符串,则使用ToString()。
答案 1 :(得分:0)
首先使用UriBuilder(参见driis的回答)。
要解析Query属性,请使用:
NameValueCollection q=HttpUtility.ParseQueryString(uri.Query);
你实际上得到了一个HttpValueCollection(内部) - 所以当你以后调用q.ToString()时,你会得到一个url编码的查询字符串。
由于课程是内部课程,您需要致电
NameValueCollection q=HttpUtility.ParseQueryString("");
如果您想从头开始构建查询字符串。