我有一个winform应用程序,我想解析一个表示URL的字符串来提取一些参数。
网址的示例是:
http://www.mysite.com/itm/Sector-Watch/271443634510?pt=Orologi_da_Polso&hash=item3f334d294e
我要提取的参数是271443634510
(即查询字符串之前路径的最后一部分)。
有任何想法可以做到这一点吗?
答案 0 :(得分:4)
您可以使用Uri.Segments,将您的域之后的内容拆分为包含的数组,例如:
所以你需要得到的只是索引3处的项目。工作示例:
string url = "http://www.mysite.com/itm/Sector-Watch/271443634510?pt=Orologi_da_Polso&hash=item3f334d294e";
Uri uri = new Uri(url);
var whatYouWant = uri.Segments[3];
答案 1 :(得分:1)
你可以这样做:
string url = "http://www.mysite.com/itm/Sector-Watch/271443634510?pt=Orologi_da_Polso&hash=item3f334d294e";
string parameter = Regex.Match(url,"\d+(?=\?)|(?!/)\d+$").Value;
答案 2 :(得分:0)
您只需使用Split
功能(经过测试和验证):
string MyUrl="http://www.mysite.com/itm/Sector-Watch/271443634510?pt=Orologi_da_Polso&hash=item3f334d294e";
string str=MyUrl.Split('/').Last().Split('?').First();