在C#/.NET/.NET Core应用程序编程开发中,有一个URL字符串,其中包含了一些URL参数,如:http://www.example.com/mypage.aspx?myvalue1=hello&myvalue2=goodbye,现需要将这个URL中的参数部分去掉,只保留参数前面的协议+主机部分:http://www.example.com/mypage.aspx,应该如何实现呢?
http://www.example.com/mypage.aspx?myvalue1=hello&myvalue2=goodbye
http://www.example.com/mypage.aspx
Rector
2020-05-06 提问
在C#/.NET/.NET Core中,可以使用System.Uri命名空间,方法如下:
System.Uri
Uri url = new Uri("http://www.example.com/mypage.aspx?myvalue1=hello&myvalue2=goodbye"); string path = String.Format("{0}{1}{2}{3}", url.Scheme, Uri.SchemeDelimiter, url.Authority, url.AbsolutePath);
2020-05-06 回答
使用字符串截取'url'.Substring(),如下:
'url'.Substring()
string url = "http://www.example.com/mypage.aspx?myvalue1=hello&myvalue2=goodbye"; string path = url.Substring(0, url.IndexOf("?"));
使用Uri.GetLeftPart()方法,如下:
Uri.GetLeftPart()
var uri = new Uri("http://www.example.com/mypage.aspx?myvalue1=hello&myvalue2=goodbye"); string path = uri.GetLeftPart(UriPartial.Path);
码龄: 3091天
专注.NET/.NET Core