• IOS开发---菜鸟学习之路--(二十一)-利用正则表达式解析URL获取其中的参数


    因为项目需要解析URL当中参数的部分,在网上搜索了一下都没有相关的资料。

    然后就自己写了一个

    其实我就是通过正则表达式来处理URL 进行解析的

    好了直接上代码吧

    也是非常的简单,大家拷贝过去就可以使用了

    -(NSString *) jiexi:(NSString *)CS webaddress:(NSString *)webaddress
    {
         NSError *error;
         NSString *regTags=[[NSString alloc] initWithFormat:@"(^|&|\?)+%@=+([^&]*)(&|$)",CS];
        NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regTags
                                                                              options:NSRegularExpressionCaseInsensitive
                                                                                error:&error];
        
        // 执行匹配的过程
       // NSString *webaddress=@"http://www.baidu.com/dd/adb.htm?adc=e12&xx=lkw&dalsjd=12";
        NSArray *matches = [regex matchesInString:webaddress
                                          options:0
                                            range:NSMakeRange(0, [webaddress length])];
        for (NSTextCheckingResult *match in matches) {
            //NSRange matchRange = [match range];
            //NSString *tagString = [webaddress substringWithRange:matchRange];  // 整个匹配串
    //        NSRange r1 = [match rangeAtIndex:1];
    //        if (!NSEqualRanges(r1, NSMakeRange(NSNotFound, 0))) {    // 由时分组1可能没有找到相应的匹配,用这种办法来判断
    //            //NSString *tagName = [webaddress substringWithRange:r1];  // 分组1所对应的串
    //            return @"";
    //        }
            
            NSString *tagValue = [webaddress substringWithRange:[match rangeAtIndex:2]];  // 分组2所对应的串
            //    NSLog(@"分组2所对应的串:%@
    ",tagValue);
            return tagValue;
        }
        return @"";
    }
    
    利用正则表达式解析URL

    其中CS是参数名 

    webaddress的话就是 URL

  • 相关阅读:
    IOS Block-Block块的使用与理解
    IOS 多线程03-GCD
    IOS 多线程01-线程基础知识
    JavaScript高级-定义函数(类)方法
    互联网技术笔试总通不过?leetcode刷对了么
    Redis 内存满了怎么办? Redis的内存淘汰策略
    SpringBoot项目优化和Jvm调优
    中台的末路
    Java 应用中的日志
    Spring Boot 支持https
  • 原文地址:https://www.cnblogs.com/PleaseInputEnglish/p/3489707.html
Copyright © 2020-2023  润新知