NSScanner 应用(关于一个URL.query)处理成一个字典的应用

本文介绍了如何利用NSScanner将带有查询参数的URL字符串转换为一个字典。通过扫描字符串,遇到'&'字符时截取键值对,并用等号分隔键和值,最终构建出一个NSMutableDictionary。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


   //要处理的字符串

    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);

        }

    }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值