//要处理的字符串
NSString *qurey =@"tn=baiduhome_pg&bs=NSRUL&f=8&rsv_bp=1&rsv_spt=1&wd=NSurl&inputT=2709";
//接受结果的字符串
NSString *resultStr;
//初始化
NSScanner *scan = [NSScannerscannerWithString:qurey];
//需要转化结果生成一个字典
NSMutableDictionary *dd = [NSMutableDictionarydictionary];
while (![scanisAtEnd]) {
resultStr = nil;
//扫描到指定字符串&停止,指针遇到匹配字符之前的内容
[scan scanUpToString:@"&"intoString:&resultStr];
//调到当前位置(scanString:intoString:函数的定义是当前位置开始扫描是否包含指定字符串包含返回)
[scan scanString:@"&"intoString:NULL];
NSArray *arr = [resultStrcomponentsSeparatedByString:@"="];
[dd setObject:arr.lastObjectforKey:arr.firstObject];
}
NSLog(@"ddd %@",dd);
//方式二让扫描继续下去当遇到指定字符串停止的时候
NSString *scanString =@"你好--#我请你#--*吃饭*- !";
NSScanner *sc = [NSScannerscannerWithString:scanString];
NSInteger location = -1;
NSString *availdStr;
while (!sc.isAtEnd) {
availdStr = nil;
location ++;
sc.scanLocation = location;
[sc scanUpToString:@"-"intoString:&availdStr];
location = sc.scanLocation;
if (availdStr) {
NSLog(@"%@",availdStr);
}
}