【问题标题】:NSRegularExpression to extract url between 2 stringsNSRegularExpression 提取 2 个字符串之间的 url
【发布时间】:2012-06-16 15:07:33
【问题描述】:

我使用NSRegularExpression 来提取两个字符串之间的 URL,这是整个字符串:

  <a href="/url?q=http://www.myurl.com/videos/how-to/&amp;sa= 

我需要提取/url?q=&amp;amp;sa= 之间的部分。

【问题讨论】:

    标签: objective-c regex foundation nsregularexpression


    【解决方案1】:

    可以使用正则表达式找到并挖掘出来,并带有正向后视和前瞻,如下所示:

    NSString *orgStr = @"<a href=\"/url?q=http://www.myurl.com/videos/how-to/&amp;sa=";
    
    NSString *URLRegExPattern = @"(?<=url\\?q=).*(?=&amp;sa=)";
    
    NSError *regExErr;
    NSRegularExpression *URLRegEx = [NSRegularExpression regularExpressionWithPattern:URLRegExPattern 
                                                                              options:0
                                                                                error:&regExErr];
    
    NSString *URLString = nil;
    
    NSRange range = [URLRegEx rangeOfFirstMatchInString:orgStr 
                                                options:0 
                                                  range:NSMakeRange(0, orgStr.length)];
    
    if (!NSEqualRanges(range, NSMakeRange(NSNotFound, 0))) {
        URLString = [orgStr substringWithRange:rangeOfFirstMatch];
    }
    
    NSLog(@"URL: %@", URLString);
    

    【讨论】:

      【解决方案2】:

      你可以使用NSString的方法:- (NSArray *)componentsSeparatedByString:(NSString *)separator

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-09
        • 2015-02-18
        • 1970-01-01
        相关资源
        最近更新 更多