使用正则提取url(iOS)

直接上代码:

NSString*string =@"我是大大www.baidu.com咪咪咪";

NSError*error;

NSString*regulaStr =@"\\b((?:https?://|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>???“”‘’]))";

NSRegularExpression*regex = [NSRegularExpressionregularExpressionWithPattern:regulaStroptions:NSRegularExpressionCaseInsensitiveerror:&error];

NSLog(@"error:%@", error);

NSArray*arrayOfAllMatches = [regexmatchesInString:stringoptions:NSMatchingReportCompletionrange:NSMakeRange(0, [stringlength])];

for(NSTextCheckingResult*matchinarrayOfAllMatches)

{

NSString* substringForMatch = [stringsubstringWithRange:match.range];

NSLog(@"substringForMatch");

NSLog(@"%@", substringForMatch);

}



判断有没有加http开头:

if ([self.urlString rangeOfString:@"http"].location == NSNotFound) {

self.urlString = [@"http://" stringByAppendingString:self.urlString];

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa阅读 1,143评论 1 6
  • 1、改变 UITextField 占位文字 颜色和去掉底部白框 [_userName setValue:[UICo...
    i_MT阅读 1,059评论 0 2
  • iOS 開発の結構 画面 UI UIWebview [[UIApplication sharedApplicati...
    RencaiXiong阅读 604评论 0 0
  • /**ios常见的几种加密方法: 普通的加密方法是讲密码进行加密后保存到用户偏好设置( [NSUserDefaul...
    彬至睢阳阅读 3,001评论 0 7
  • 打卡
    17必胜阅读 226评论 0 0