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所對應的串:%@\n",tagValue);
        return tagValue;
    }
    return @"";
}

利用正則表達式解析URL

 

其中CS是參數名 

webaddress的話就是 URL

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM