因为项目需要解析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所对应的串:%@\n",tagValue); return tagValue; } return @""; } 利用正则表达式解析URL
其中CS是参数名
webaddress的话就是 URL