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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/257787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

热带雨林绘画软件测试,儿童画教程|色彩练习与思维创想——好热闹的热带雨林!...

课程类型综合创意绘画课程参考课时90分钟工具材料勾线笔、水彩笔、卡纸课程构思小朋友们知道吗&#xff1f;热带雨林是地球上抵抗力和稳定性最高的生态系统&#xff0c;常年气候非常的炎热&#xff0c;雨量充沛&#xff0c;没有明显的季节差异&#xff0c;生物群落演替速度极快…

对于一个IE8兼容性问题的反思

近期做了一个需求&#xff0c;功能非常easy&#xff0c;把用户的优惠券数量读取出来&#xff0c;然后显示到“用户中心”上。开发完毕后。别的浏览器正常。可是到IE8上就不行了。并且&#xff0c;按下F12之后&#xff0c;就又能够载入出来了。首先&#xff0c;找了前端人员&…

Grunt + Bower—前端构建利器

目前比较流行的WEB开发的趋势是前后端分离。前端采用重量级的Javascript框架&#xff0c;比如Angular&#xff0c;Ember等&#xff0c;后端采用restful API的Web Service服务&#xff0c;通过JSON格式进行数据交互。 对于后端服务语言来说&#xff0c;不论是Ruby的rake&#xf…

apache服务器性能诊断,Apache服务器性能评测

。51Testing软件测试网m#z"fX}0H:P{(bHP~bd7h5z7I(Sn3H01.比较现有T2000 Apache2.2.8经过优化前后的效果51Testing软件测试网 R4VsR^4MO!G7fWebserver IP&#xff1a;10.56.234.3151Testing软件测试网e{]Q/\(p|优化前httpd.conf&#xff1a;da*Z"[d0----------------…

Linux命令行编辑快捷键

2019独角兽企业重金招聘Python工程师标准>>> ctrl ? 撤消前一次输入 ctrl c 另起一行 ctrl r 输入单词搜索历史命令 ctrl u 删除光标前面所有字符相当于VIM里d shift^ ctrl k 删除光标后面所有字符相当于VIM里d shift$ 删除 ctrl d 删除光标所在位置上的字符…

kali装电脑_Kali Linux可以安装到平板电脑吗?

在用Windows的电脑上克隆Kali插入U盘.运行Win32 Disk Imager.选择Kali Linux ISO文件作为被克隆的文件,然后核实要克隆的U盘是否正确.克隆完成后,从Windows机器安全弹出U盘.现在你可以用U盘启动Kali Linux了.在用Linux的电脑上克隆Kali在Linux环境下制作可启动的Kali Linux U盘…

思科查看服务器启动配置文件,启动配置检查UCS

本文解释如何使用UCS将启动功能和命令迅速执行配置状态检查。UCS将启动功能允许用户迅速执行一粗略检查为了保证刀片适当地配置允许BIOS继续。意志启动配置检查是验证CPU和DIMM配置。此检查迅速帮助用户调试启动问题。思科UCS在意志启动配置检查提供几个工具帮助。这些工具包括…

lnmp下配置虚拟主机

一&#xff1a;首先熟悉几个命令 which php ---> which是通过 PATH环境变量到该路径内查找可执行文件&#xff0c;所以基本的功能是寻找可执行文件 whereis php ----> 将和php文件相关的文件都查找出来 service php-fpm/nginx/mysqld restart 重启服务 二&…

AssetBundle.CreateFromFile的有趣事情

有趣的事情发生了&#xff1a; [MenuItem("AssetBundles/Build AssetBundles")] staticvoid BuildABs () { AssetBundleBuild[] buildMap new AssetBundleBuild[1]; buildMap [0].assetBundleName "test.assetbundle";//打包的资源包名称 string[] resou…

[cocos2dx笔记010]用于UI的事件管理器

cocos2dx有一个编辑器&#xff1a;cocostudio。眼下来说&#xff0c;已经是比較好用了。仅仅要载入导出的资源。就能够用上了。省去手动搭建面的麻烦。可是。非常多须要事件的地方&#xff0c;操作比較麻烦&#xff0c;所以这里提供一个事件管理器来集中和简化管理事件。对于C事…

异形3×3魔方还原教程_【理论篇】三阶魔方4.33千亿亿种变化是怎么计算出来的?...

本篇文章主要介绍三阶魔方总状态数是如何计算出来的&#xff0c;并介绍了两种算法&#xff0c;尽量保证语言通俗易懂&#xff0c;不涉及高深的理论知识&#xff08;当然我也不懂&#xff1a;P&#xff09;一、4.33千亿亿到底有多大&#xff1f;我们都知道三阶魔方的总变化状态数…

Jquery 对话框确认

$("#aa").click(function(){if(confirm("是否继续")){$(#aa).fadeOut(500);} }) 转载于:https://www.cnblogs.com/chen-lhx/p/5149469.html

datazen Active Directory AD 配置

今天苦心经营的datazen 链接AD&#xff0c;文档已经无法吐槽了简单的几句话&#xff0c;根本不够用。 先说一下链接AD 的好处吧&#xff0c; 1 首先免去设置密码的麻烦&#xff0c;因为直接用AD账号的密码。 2 更安全&#xff0c;因为客户可不想自己的自己的系统&#xff0c;开…

Android CardView卡片布局 标签: 控件

CardView介绍 CardView是Android 5.0系统引入的控件&#xff0c;相当于FragmentLayout布局控件然后添加圆角及阴影的效果&#xff1b;CardView被包装为一种布局&#xff0c;并且经常在ListView和RecyclerView的Item布局中&#xff0c;作为一种容器使用。CardView应该被使用在显…

橱柜高度与身高对照表_下一套房子装修,橱柜就照这样打,布局尺寸这么详细,不信不好用...

闲在家的时候&#xff0c;动手给自己做一顿色香味俱全的美食&#xff0c;是一个享受的过程。享受的&#xff0c;不仅仅是味蕾的体验&#xff0c;择菜、洗菜、切菜、下锅...每一个环节都是。不过&#xff0c;这取决于你是否有一个好厨房&#xff1b;而厨房最最最重要的家具&…

DOSbox汇编集成环境下的具体设置

altenter能够全屏幕&#xff0c;假设认为游戏执行速度不合适&#xff0c;能够改动 cycles3000 。将3000适当调整大小。 3。执行 DOSBox&#xff0c;会打开两个 DOS 窗体。我们仅仅需在例如以下窗体中键入 mount c h:\pal 此命令的作用为将 h:\pal 挂载为 C 盘&#xff0c;h:\p…

.NET手记-JS获取Url参数

最近为App做活动专区&#xff0c;其中很多活动都是采用html 5页面来制作的。一方面体量较小&#xff0c;制作快速&#xff0c;更新维护容易&#xff1b;另一方面&#xff0c;嵌入App后适配效果也不会很差。 这里我们采用混编形式来从native app传参给web页面&#xff0c;我们采…

Entity Framework系列之DataBase First

第一步 新建数据库和表 USE [TestDB] GO /****** Object: Table [dbo].[T_User] Script Date: 01/14/2015 20:27:52 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[T_User]([Id] [int] IDENTITY(1,1) NOT NULL,[Name] [nvarchar](50) NUL…

axios打包放到服务器上接口地址404_如何把网页文件放到云虚拟主机

把网页文件放到云虚拟主机上&#xff0c;可以用虚拟主机控制面板、FTP软件等方式。我们在运营网站时&#xff0c;经常需要制作一些特殊网页文件&#xff0c;比如404页面、sitemap页面、robots文件等&#xff0c;以及像站长平台严重文件、统计代码验证文件等&#xff0c;这些页面…

cisco数据中心理论小记-3

port channelSTP-防环,非根非指定口block.PCH-带宽利用率提升&#xff0c;逻辑上单链路 l2/l3都可以使用passive -LACP /active-Lacp/ on-Static无协议-on有协商-LACPneuxs 不支持PACPvPC---纯二层 技术&#xff0c;没有三层功能vitrual Port channel解决的是跨框 &#xff0c;…