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

时间:2021-07-08 04:33:25

因为项目需要解析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:
range:NSMakeRange(, [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所对应的串
// NSLog(@"分组2所对应的串:%@\n",tagValue);
return tagValue;
}
return @"";
} 利用正则表达式解析URL

其中CS是参数名

webaddress的话就是 URL