C#分析URL参数并获取参数和值对应列表的方法


本文向大家介绍C#分析URL参数并获取参数和值对应列表的方法,包括了C#分析URL参数并获取参数和值对应列表的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了C#分析URL参数获取参数和值对应列表的方法。分享给大家供大家参考。具体分析如下:

这个C#函数用于分析url中传递的所有参数,输出一个参数名和参数值对应的NameValueCollection列表,经常能用得到

/// <summary>
/// 分析 url 字符串中的参数信息
/// </summary>
/// <param name="url">输入的 URL</param>
/// <param name="baseUrl">输出 URL 的基础部分</param>
/// <param name="nvc">输出分析后得到的 (参数名,参数值) 的集合</param>
public static void ParseUrl(string url, out string baseUrl, out NameValueCollection nvc)
{
  if (url == null)
 throw new ArgumentNullException("url");
  nvc = new NameValueCollection();
  baseUrl = "";
  if (url == "")
 return;
  int questionMarkIndex = url.IndexOf('?');
  if (questionMarkIndex == -1)
  {
 baseUrl = url;
 return;
  }
  baseUrl = url.Substring(0, questionMarkIndex);
  if (questionMarkIndex == url.Length - 1)
 return;
  string ps = url.Substring(questionMarkIndex + 1);
  // 开始分析参数对  
  Regex re = new Regex(@"(^|&)?(\w+)=([^&]+)(&|$)?",RegexOptions.Compiled);
  MatchCollection mc = re.Matches(ps);
  foreach (Match m in mc)
  {
 nvc.Add(m.Result("$2").ToLower(), m.Result("$3"));
  }
}

希望本文所述对大家的C#程序设计有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#yiidian.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。