因為項目需要解析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