使用System.Uri删除多余的斜杠

时间:2013-10-30 17:25:02

标签: c# .net url

我的程序中有一个条件,我必须将服务器(例如http://server1.my.corp/)组合在一起,该服务器可能有或没有带有相对路径的结尾斜线(例如/Apps/TestOne/)。根据{{​​3}},Uri应该......

  

通过压缩序列(例如/./,/../,//,...,/ p>来规范化分层URI的路径

因此,当我执行类似var url = new Uri(server + relativePath)之类的操作时,我希望它采取原本http://server1.my.corp//Apps/TestOne/并删除双斜杠(即// - > {{ 1}}),但/ToString和各种选项仍显示冗余/重复斜杠。我没有使用AbsolutePath吗?

1 个答案:

答案 0 :(得分:17)

看一下Uri class的构造函数。您需要指定基本Uri和相对路径以获取标准化行为。尝试这样的事情:

var server = new Uri("http://server1.my.corp/");
var resource = new Uri(server, "/Apps/TestOne/");