/// <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"));
            }
        }

最新文章

  1. star ccm+ 11.02安装
  2. Mac 配置Charles抓https的包
  3. 修改maven默认的JDK编译版本
  4. Oracle字符分隔函数(split)
  5. 深入理解Loadrunner中的Browser Emulation
  6. jq 弹出窗口
  7. IT新人养成与蘑菇理论
  8. php这样实现伪静态
  9. IO库 8.4
  10. OCP-1Z0-051-标题决心-文章2称号
  11. eclipse没有(添加)&quot;Dynamic Web Project&quot;选项的方法【转载】
  12. python数据集处理
  13. .NET Core微服务之基于Ocelot+Butterfly实现分布式追踪
  14. 十分钟学会Java8:lambda表达式和Stream API
  15. drupal8
  16. BZOJ4003 JLOI2015城池攻占
  17. 学习笔记之100 TOP Ikm C++ Online Test Questions
  18. CF 258 D. Little Elephant and Broken Sorting
  19. JDK1.9怎么配置环境变量
  20. Angular7教程-03-Angular常用操作(上)

热门文章

  1. 表单事件onsubmit与onreset
  2. &lt;转&gt;SQL语句大全
  3. shipyard安装
  4. Js经典相册
  5. SQLServer(MSSQL)、MySQL、SQLite、Access相互迁移转换工具 DB2DB v1.2
  6. Metatable让我从心认知了Lua(相知篇)
  7. .net异步编程
  8. 三言两语聊Python模块–单元测试模块unittest
  9. HTML5之创新的视频拼图剖析式学习之二
  10. [POJ2104]K-th Number