分析URI中的字符有K种方法(K >= 2),如果查询字符串中的参数比较简单,可以通过子字符串查找的方式来处理;如果查询字符串相对复杂,你可以使用正则表达式来匹配 key1=value1 ,  key2=value2等。

如果你想很轻松地完成查询参数分析,应当考虑使用现成的API,这不,在Windows.Foundation命名空间下面,你会看到一个名字很刺眼的类——WwwFormUrlDecoder。这个很是简单,调用构造函数创建实例时需要提供一个参数,就是URI中的查询字符串,而且必须是以 ? 开头。然后就可以慢慢玩了,它实现了可枚举接口,你可用foreach来检索所有参数,URI参数经过该类处理后,会把每一对参数变成一个WwwFormUrlDecoderEntry实例,其中,Name 属性就是参数的大名,Value 属性表示参数的值。

这么一耍,你是不是有些感叹,原来生活可以如此简单。

咱们来实战一下,请看看下面XAML布局。

        <StackPanel Margin="15"><TextBox Name="txtUriWithQry" Header="请输入带查询字符串的URI:" Text="http://www.ads-rubbish.net/index.sb?t=5&amp;m=dog&amp;d=100"/><Button Margin="0,10,0,3" Content="分析" Click="OnClick"/><TextBlock Name="tb"/></StackPanel>

在TextBox中输入一个带查询参数的URI,然后点按钮,接着分析参数,最后在TextBlock中显示分析后的参数列表。

下面代码处理按钮单击事件。

        private void OnClick(object sender, RoutedEventArgs e){Uri u = new Uri(txtUriWithQry.Text);tb.Text = string.Empty;WwwFormUrlDecoder dcd = new WwwFormUrlDecoder(u.Query);foreach (WwwFormUrlDecoderEntry ent in dcd){tb.Text += $"{ent.Name} = {ent.Value}\n";}}

为什么要用Uri类来耍呢,因为它有个Query属性,直接可以获取到查询字符串,而且是带?号的。

最后就可以看效果了。

本文的示例实在太简单了,因此,老周严重拒绝提供示例代码下载。

===========================================================

有好几回没讲故事了,唉,最近确实没啥故事可讲,老周近来也没看到比较“另类”的事件。

哦,想起来了一事,提醒一下大家,最近天气潮湿,开电脑前要小心一点,比较容易烧坏东西,尤其是一些老式显示器,不过,貌似笔记本没多大影响。

转载于:https://www.cnblogs.com/tcjiaan/p/5316475.html

【Win 10 应用开发】分析 URI 中的查询字符串相关推荐

  1. 【Win 10应用开发】SplitView控件

    [Win 10应用开发]SplitView控件 原文:[Win 10应用开发]SplitView控件 SplitView控件用于呈现分隔视图,简单地说,就是把一个视图分割为两部分,Content属性所 ...

  2. 【Win 10 应用开发】Toast通知激活应用——前台后台

    原文:[Win 10 应用开发]Toast通知激活应用--前台&后台 老周最近热衷于讲故事,接下来还是讲故事时间. 有人问我:你上大学的时候,有加入过学生会吗?读大学有没有必要加入学生会? 哎 ...

  3. 【Win 10 应用开发】RTM版的UAP项目解剖

    原文:[Win 10 应用开发]RTM版的UAP项目解剖 Windows 10 发布后,其实SDK也偷偷地在VS的自定义安装列表中出现了,今天开发人员中心也更新了下载.正式版的SDK在API结构上和以 ...

  4. 【Win 10应用开发】Adaptive磁贴模板的XML文档结构

    原文:[Win 10应用开发]Adaptive磁贴模板的XML文档结构 在若干天之前,老周给大家讲了Adaptive Toast通知的XML模板,所以相应地,今天老周给大家介绍一下Adaptive磁贴 ...

  5. 在JavaScript中解析查询字符串[重复]

    本文翻译自:Parse query string in JavaScript [duplicate] Possible Duplicate: 可能重复: How can I get query str ...

  6. php 字符串hash比较,分析两个 url 查询字符串和 hash 的区别

    分析两个 url 查询字符串和 hash 的区别<?php header("Content-type:text/html; charset=utf-8"); // 分析两个 ...

  7. 【Win 10 应用开发】在代码中加载文本资源

    记得前一次,老周给大伙,不,小伙伴们介绍了如何填写 .resw 文件,并且在 XAML 中使用 x:Uid 标记来加载.也顺便给大伙儿分析了运行时是如何解析 .resw 文件的. 本来说好了,后续老周 ...

  8. 【Win 10 应用开发】导入.pfx证书

    这个功能其实并不常用,一般开发较少涉及到证书,不过,简单了解一下还是有必要的. 先来说说制作测试证书的方法,这里老周讲两种方法,可以生成用于测试的.pfx文件. 产生证书,大家都知道有个makecer ...

  9. 【Windows】Win 10 无法访问同一网络中Mac 电脑

    目录 1. 问题 2. 记录 3. 思路 3.1 Mac 访问Win: 3.2 Win 访问Mac: 4. 参考 1. 问题 最近买了台小米电脑,在折腾Win 10 访问Mac 死活搞不定: 后来发现 ...

最新文章

  1. 高德引擎构建及持续集成技术演进之路
  2. nfc pm3 模拟加密门禁卡_华为手机NFC的妙用,模拟门禁卡、公交卡、银行卡,电子证件等...
  3. 【绝对干货】北京三年java开发多少工资
  4. dash 和 bash 切换
  5. 央视曝光:全国第九大电商平台倒了!创始人卷走260亿,1200万人被骗
  6. Linux 常用命令六 cp和mv
  7. Spark在集群上执行代码案例(中文切词)
  8. 拓端tecdat|R语言是否对二分连续变量执行逻辑回归
  9. 超简单的html登录界面
  10. Windows游戏编程大师技巧(第2版)
  11. linux 中 etc fstab目录,Linux学习— /etc/fstab文件详解
  12. 什么教我们用计算机画画,作文:我第一次用电脑画画
  13. 错误:Mixed Content: The page at ‘https://XXX’ was loaded over HTTPS, but requested an insecure.......
  14. next_day函数用法
  15. 【拍摄日志五】拍摄手法,画面构图,光影关系
  16. gg修改器修改数值没有用怎么办_gg修改器怎么用怎么修改数值 修改数值方法介绍...
  17. 高效学英语 - 统计英文书词频
  18. UVA - 1471 Defense Lines 贪心+二分
  19. Java 第三方sdk服务_文档中心 | QuickSDK——专业的手游第三方SDK接入服务平台,渠道SDK聚合,广告跟踪,客服,登录充值SDK...
  20. 手把手教你搭建SpringBoot+MySQL+Mybatis项目(采坑日记)

热门文章

  1. python pca降维_机器学习之sklearn中的降维算法
  2. 学生汽车网页设计作品静态HTML网页模板源码 大学生汽车网站制作 简单汽车网页设计成品
  3. 【ES10(2019)】JSON扩展 superset / stringify() 增强能力
  4. 【分享-windows文件快速搜索神器】Everything 免费、快速搜索文件/文件夹
  5. Java工作笔记-枚举类型反射
  6. Qt学习笔记-各种对话框基本使用
  7. html引入vue不兼容ie11,关于vue.js:iview按需引入ie11不兼容报无效字符问题解决
  8. Cookiecutter
  9. jquery 上传图片 java_jquery 异步提交表单 上传图片小例子
  10. 用计算机计算汉坦,河北省Ⅱ型汉坦病毒流行特征及与细胞自噬相互作用研究