zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    关于消息队列的使用
    关于Redis中交互的过程
    关于Redis的启动过程
    【分布式】Zookeeper与Paxos
    【分布式】Chubby与Paxos
    【分布式】一致性协议
    【分布式】分布式架构
    【知识积累】try-catch-finally+return总结
    【面试】判断一棵二叉树是否为二叉排序树
    【面试】用两个栈实现队列
  • 原文地址:https://www.cnblogs.com/PleaseInputEnglish/p/3489707.html
Copyright © 2011-2022 走看看