如何将URL拆分为字符串数组

本文关键字:字符串 数组 拆分 URL | 更新日期: 2023-09-27 18:08:07

我希望能够访问当前页面的URL,并从/ 的末尾到最后一次出现

例如,如果我的URL是:http://myintranet/guidelines/Home/Pages/mymed.aspx

我想提取mymed

到目前为止,我有这个:

string strEntity = HttpContext.Current.Request.Url.AbsolutePath;
Label2.Text = strEntity;

显示:

/guidelines/Home/Pages/mymed.aspx

我尝试使用Split("''").Last();,但不起作用,并说不能将字符串[]分配给字符串。。。

如何将URL拆分为字符串数组

您可以使用System.IO.Path类中的GetFileNameWithoutExtension方法:

var uri = HttpContext.Current.Request.Url;
string fileName = Path.GetFileNameWithoutExtension(uri.AbsolutePath);
Uri uri = new Uri("http://myintranet/guidelines/Home/Pages/mymed.aspx");
var segments = uri.Segments;
//do something with the array of segments

编辑:如前所述,你不需要创建一个Uri,因为你已经有了一个:

var lastPart = HttpContext.Current.Request.Url.Segments.Last();
Uri uri = new Uri("http://myintranet/guidelines/Home/Pages/mymed.aspx");
var segments = uri.Segments;
var last = segments.Last(); //to get the last
var mymed = last.Split(".")[0]; //to separate the name from the extention

您可以尝试以下操作:

 var ub = new UriBuilder("http://myintranet/guidelines/Home/Pages/mymed.aspx");
 NameValueCollection nvc = HttpUtility.ParseQueryString(ub.Query);
 string page = nvc[nvc.Count - 1];