从Url中提取参数

时间:2014-05-03 09:36:41

标签: c# winforms url

我有一个winform应用程序,我想解析一个表示URL的字符串来提取一些参数。

网址的示例是:

  

http://www.mysite.com/itm/Sector-Watch/271443634510?pt=Orologi_da_Polso&hash=item3f334d294e

我要提取的参数是271443634510(即查询字符串之前路径的最后一部分)。

有任何想法可以做到这一点吗?

3 个答案:

答案 0 :(得分:4)

您可以使用Uri.Segments,将您的域之后的内容拆分为包含的数组,例如:

  • /
  • ITM /
  • 扇区观看/
  • 271443634510

所以你需要得到的只是索引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();