簡體   English   中英

從 ASP.NET 中的 AbsolutePath 中刪除 URL 字符串的第一部分和最后一部分

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM