解析URL 获取某一个参数值

时间:2023-03-09 18:10:42
解析URL 获取某一个参数值
/**
* 解析URL 获取某一个参数值
*
* @param name 需要获取的字段
* @param webaddress URL
*
* @return 返回的参数对应的 value
*/
-(NSString *) jiexi:(NSString *)name webaddress:(NSString *)webaddress
{
NSError *error;
NSString *regTags=[[NSString alloc] initWithFormat:@"(^|&|\\?)+%@=+([^&]*)(&|$)",name];
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regTags
options:NSRegularExpressionCaseInsensitive
error:&error]; // 执行匹配的过程
// NSString *webaddress=@"http://www.baidu.com";
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 @"";
}