在URL中第一次斜杠后获取任何内容

时间:2012-11-07 16:03:49

标签: c# url slash

我可以使用以下网址获取我的浏览器网址:string url = HttpContext.Current.Request.Url.AbsoluteUri; 但是如果我有一个网址如下:

http://www.test.com/MyDirectory/AnotherDir/testpage.aspx

我如何获得它的“MyDirectory”部分,.NET中是否有一个实用程序来实现此功能,还是需要字符串操作?

如果我在第一个“/”实例后进行字符串操作并说出任何内容,那么它将不会在http:?之后返回斜杠如果我的网址为www.test.com/MyDirectory/AnotherDir/testpage.aspx

,则会有效

有人可以帮忙吗

3 个答案:

答案 0 :(得分:8)

从您的网址实例化一个Uri实例:

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

然后,您可以使用以下命令将路径段转换为字符串数组:

string[] segments = myUri.Segments

您的第一个“MyDirectory”文件夹位于:

string myFolderName = segments[0];

答案 1 :(得分:4)

您可以通过PathAndQuery

Url属性获取此信息
var path = HttpContext.Current.Request.Url.PathAndQuery;

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

答案 2 :(得分:2)

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