日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

0118——RTLabel和正则表达式

發布時間:2023/12/13 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 0118——RTLabel和正则表达式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ?? RTLabel和RegexKitLite都要導入第三方庫

? ? ?

?

? ? ?使用Regexkitlite庫進行正則表達式的解析

?? ? 1.庫是使用MRR,如果在ARC工程里面使用這個類,必須在project->build phases->compile resources里面將regexKitLite.m的編譯指令設為:-fno-objc-arc

?? ? 2.需要添加一個依賴庫:libicucore.tbd

?

1.RTLable 富文本類庫 ?替換成超鏈接

? ? ? ? ? ? ? ?

? ??RTLabel *lable = [[RTLabel alloc]initWithFrame:CGRectMake(10, 100, 300, 0)];

? ? lable.delegate = self;

? ? NSString * string = @"@張三123:正則表達式好學么,@李四:給你一個網站:http://www.baidu.com/image/2323_303.jpg,#學習#,電話號碼:(025)-69716261";? ??

? ? lable.text =string;

? ? CGSize size =[lable optimumSize]; ?//計算尺寸

? ? lable.frame = CGRectMake(10, 100, size.width, size.height);

? ? NSString *regex = @"(@\\w+)|(#\\w+#)|(http(s)?://[0-9a-zA-Z./_]+)"; //正則表達式

? ? NSArray *result = [string componentsMatchedByRegex:regex];

? ? for (NSString * str in result) {

? ? ? ? NSString * newKeyword = [NSString stringWithFormat:@"<a href='http://www.baidu.com'>%@</a>",str];

? ? ? ? string = [string stringByReplacingOccurrencesOfString:str withString:newKeyword]; //替換文本

? ? }

? ? lable.text = string;

2.正則表達式

? ??NSString * str = @"@張三123:你在哪里呀?@李四:我在這!#在哪里# http://www.baidu.com 電話號碼:(025)88888888,025-88888888";

? ? NSString * regex = @"@\\w+";

? ? NSString * regex = @"#\\w+#";

? ? NSString * regex = @"(@\\w+)|(#\\w+#)";

? ? NSString * regex = @"http(s)?://[0-9a-zA-Z./_]+";網址

? ? NSString * regex = @"(\\()?(\\d){3}(\\))?(-)?(\\d){8}";//電話號碼

? ? NSArray * result = [str componentsMatchedByRegex:regex];

? ? for (NSString * str in result) {

? ? ? ? NSLog(@"%@",str);

? ? }

轉載于:https://www.cnblogs.com/damonWq/p/5140340.html

總結

以上是生活随笔為你收集整理的0118——RTLabel和正则表达式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。