从URL中删除其他斜杠

时间:2015-05-27 13:29:01

标签: c# asp.net url slash

ASP.Net中,可以通过URL等几乎相同的页面获取相同的内容 localhost:9000/Index.aspxlocalhost:9000//Index.aspx甚至是localhost:9000///Index.aspx

但这对我来说并不好看。

如何在用户转到某个页面之前删除这些额外的斜杠?

5 个答案:

答案 0 :(得分:5)

使用此:

url  = Regex.Replace(url  , @"/+", @"/");

它将支持n次

enter image description here

答案 1 :(得分:1)

这个解决方案不是那么漂亮但很容易

do
{
    url = url.Replace("//", "/");
}
while(url.Contains("//"));

这将适用于您的网址中的许多斜杠,但运行时不是很好。

答案 2 :(得分:1)

https://stackoverflow.com/a/19689870

https://msdn.microsoft.com/en-us/library/9hst1w91.aspx#Examples

  

您需要指定基本Uri和相对路径来获取标准化行为。

Uri baseUri = new Uri("http://www.contoso.com");
Uri myUri = new Uri(baseUri, "catalog/shownew.htm");
Console.WriteLine(myUri.ToString());

答案 3 :(得分:0)

删除它们,例如:

 url = url.Replace("///", "/").Replace("//", "/");

答案 4 :(得分:0)

Regex.Replace("http://localhost:3000///////asdasd/as///asdasda///asdasdasd//", @"/+", @"/").Replace(":/", "://")