C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > C#分析URL参数获取参数和值对应列表

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

作者:feige

这篇文章主要介绍了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#程序设计有所帮助。

您可能感兴趣的文章:
阅读全文