获取URL中第一个斜杠后的任何内容

3
我可以使用以下代码获取浏览器的URL:string url = HttpContext.Current.Request.Url.AbsoluteUri; 但是,如果我的URL如下所示:
http://www.test.com/MyDirectory/AnotherDir/testpage.aspx

我如何获取其中的"MyDirectory"部分,有没有 .NET 中的实用程序可以做到这一点,或者我需要进行字符串操作?

如果我进行字符串操作并说在第一个 "/" 后面的任何内容,那么它不会返回 http: 后面的斜杠吗? 如果我的 url 是 www.test.com/MyDirectory/AnotherDir/testpage.aspx,那么它会起作用。

有人能帮忙吗?


你是否检查了类的其他属性,例如AbsolutePath - Miserable Variable
3个回答

8

从您的Url实例化Uri实例:

Uri myUri = new Uri("http://www.test.com/MyDirectory/AnotherDir/testpage.aspx");

您可以使用以下代码将路径片段获取为字符串数组:

string[] segments = myUri.Segments

你的第一个"MyDirectory"文件夹将位于:

string myFolderName = segments[0];

4
您可以通过UrlPathAndQuery属性获得此信息。
var path = HttpContext.Current.Request.Url.PathAndQuery;

它将返回/MyDirectory/AnotherDir/testpage.aspx


2
 Uri uriAddr = new Uri("http://www.test.com/MyDirectory/AnotherDir/testpage.aspx");
 var firstSegment= uriAddress.Segments.Where(seg => seg != "/").First();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接