@implementation NSString (URLParser)

-(NSDictionary*)parserToDict

{

NSScanner *scanner = [NSScanner scannerWithString:self];

[scanner setCharactersToBeSkipped:[NSCharacterSet characterSetWithCharactersInString:@"&?="]];

NSString *key;

NSString *value;

NSMutableArray *keys = [NSMutableArray new];

NSMutableArray *vars = [NSMutableArray new];

[scanner scanUpToString:@"?" intoString:nil]; //ignore the beginning of the string and skip to the vars

while ([scanner scanUpToString:@"=" intoString:&key]&&[scanner scanUpToString:@"&" intoString:&value]) {

//[vars addObject:[tempString copy]];

[keys addObject:key];

[vars addObject:value];

}

return [NSDictionary dictionaryWithObjects:vars forKeys:keys];

}

@end

NSString+URLParser NSScanner的更多相关文章

  1. NSScanner扫描字符串中()的内容

    //本事例去除小括号及其内部的内容 + (NSString *)changeStringWithString:(NSString *)string {  NSScanner*scanner = [NS ...

  2. [转] 【iOS基础知识】之判断NSString是否为整数、浮点数

    //判断是否为整形: - (BOOL)isPureInt:(NSString*)string{ NSScanner* scan = [NSScannerscannerWithString:string ...

  3. iOS--判断字符串NSString中数字、中文、大小写英文

    iOS--判断字符串NSString中数字.中文.大小写英文   <iframe id="iframeu2051914_0" src="http://pos.bai ...

  4. NSCharacter​Set 使用说明

    NSCharacter​Set 和 NSMutableCharacterSet  用面向对象的方式来表示一组Unicode字符,它经常与NSString及NSScanner组合起来使用,在不同的字符上 ...

  5. Objective-C开发编码规范【转载】

    概要 Objective-C是一门面向对象的动态编程语言,主要用于编写iOS和Mac应用程序.关于Objective-C的编码规范,苹果和谷歌都已经有很好的总结: Apple Coding Guide ...

  6. NSCharacter​Set在字符串操作中得使用

    NSCharacterSet以及它的可变版本NSMutableCharacterSet,用面向对象的方式表示一组Unicode字符,它经常与NSString及NSScanner组合起来使用,在不同的字 ...

  7. HTML网页内容转换成字符串(删除从指定字符串到指定字符串)

    背景: 最近遇到个小需求就是将下面字符串去掉无用字符串 <br><br>"你爷爷也喜欢吃鱼嘛."<br><br>我笑了起来,&quo ...

  8. iOS开发小技巧

    1. 解析详情页(是webView)遇到的3个问题: 1.图片太大,超出屏幕范围 2.怎么在webView上面添加一行文字 3.文字太小 1.解决方法 webView.scalesPageToFit ...

  9. NSCharacterSet 简单用法

    NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...

随机推荐

  1. 洛谷P5017:摆渡车——题解

    https://www.luogu.org/problem/P5017 参考:https://www.luogu.org/blog/ztyluogucpp/solution-p5017 我想我大概是废 ...

  2. 【chromium】 渲染显示相关概念

    DRM(Direct Rendering Manager) DRM 由两个部分组成:一是 Kernel 的子系统,这个子系统对硬件 GPU 操作进行了一层框架封装.二是提供了一个 libdrm 库,里 ...

  3. Docker在linux系统下的安装

    系统要求 本安装教程仅限于CentOS7,其他系统不适用.centos-extras仓库必须是启用状态,这个仓库默认状态是启用,如果不是启用状态,请修改. 卸载旧版本的Docker Docker的旧版 ...

  4. docker搭建MediaWiki

    一.简介 MediaWiki 是 Wikipedia 使用的网站解决方案的开源版,以个人观点来看,Wiki 在这个时代显得不够时尚,且不支持 MarkDown 等新兴的标记语言,另外页面的组织方式采用 ...

  5. iphone如何安装mitmproxy的pem文件(当iphone无法使用邮箱时)

    背景描述: 我要安装mitmproxy描述文件 mitmproxy-ca-cert.pem , 说是用iphone自带的邮箱接收然后安装即可,但悲剧的邮箱坏了[提示:无法连接服务器],查了不少方法都无 ...

  6. SQL Server中用户账号在数据库中的安全性,可以控制用户的权限

    今天在公司SQL Server数据库中,查到一个SQL Server用户账号"DemoUser": "DemoUser"不在数据库服务器的sysadmin角色中 ...

  7. kafka Authentication using SASL/Kerberos

    Authentication using SASL/Kerberos Prerequisites KerberosIf your organization is already using a Ker ...

  8. winform+cefSharp实现窗体加载浏览器

    1:新建winform项目 2:安装cefSharp 3:配置管理器更改为X86 4:添加引用 using CefSharp; using CefSharp.WinForms; 5:项目启动,打开网页 ...

  9. Big Data Hubris:"大数据傲慢"问题

    大数据的傲慢与偏见— 读后心得 数据模型研究者必看的书 原文链接: https://medium.com/@iven00000000/%E5%A4%A7%E6%95%B8%E6%93%9A%E7%9A ...

  10. linuxmint安装Tools找不到Tools的压缩包问题

    安装Linuxmint之后按照惯例安装Tools,打开桌面上的Tools光盘之后找不到压缩包. PS:因为已经装好了,就不上图了,按照下面的步骤做就没有问题了. 1:找到vmware的安装目录下的li ...