[英]Remove the first and last parts of a URL string from AbsolutePath in ASP.NET
我不擅長操作字符串,可以使用一些幫助。
我有一個 URL ( http://localhost/mySite/default.aspx ),我有AbsolutePath
作為我正在使用的字符串 (/mySite/default.aspx):
string mySubUrl = Request.Url.AbsolutePath;
我想要做的是刪除AbsolutePath
的第一部分和最后一部分。 在這個例子中,刪除“mySite”和“default.aspx”,這會讓我只剩下“/”。
也可能存在 URL 更長或更短的情況,例如http://localhost/mySite/mySubFolder/default.aspx ,在這種情況下,在刪除AbsolutePath
的第一部分和最后部分后,我將留下 '/mySubFolder /'。
我確實嘗試過使用 Uri 段,但並沒有走得太遠:
string absolutePath = Request.Url.AbsolutePath;
Uri uri = new Uri(absolutePath);
string[] pathSegments = uri.Segments;
快速解決方案:
string[] pathSegments = Request.Url.Segments.Skip(1).Take(Request.Url.Segments.Length - 2).ToArray();
Request.Url.AbsolutePath
已經為您刪除了 Url 的左側部分,因此它將為您提供類似/subSection/subFolder/default.aspx
。
然后,您可以像這樣刪除最后一部分:
string absolutePath = Request.Url.AbsolutePath;
string[] urlSegments = absolutePath.Split('/');
urlSegments = urlSegments.Skip(1).Take(urlSegments.Length - 2);
string url = string.Join("/", urlSegments);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.