2011-01-19 30 views
0

与System.IO.Path等价吗?等同于asp.net(C#)的路径?

我得到了这个网址:http://www.website.com/category1/category2/file.aspx?data=123

我怎样才能打破这种下来,像

var url = ASPNETPATH("http://www.website.com/category1/category2/file.aspx?data=123"); 

url.domain <-- this would then return http://www.website.com 

url.folder <-- would return category1/category2 

url.file <-- would return file.aspx 

url.queryString <-- would return the querystring in some format 

回答

7

使用UriBuilder类:
http://msdn.microsoft.com/en-us/library/system.uribuilder.aspx

UriBuilder uriBuilder = new UriBuilder("http://www.somesite.com/requests/somepage.aspx?i=123"); 
string host = uriBuilder.Host;  // www.somesite.com 
string query = uriBuilder.Query; // ?i=123 
string path = uriBuilder.Path;  // /requests/somepage.aspx 
0

正则表达式非常适合用于此目的。 这里有一个链接,有关于使用它们的一些很好的信息。 http://www.regular-expressions.info/

编辑:我忘了C#有一个URI类,你也可以使用它。