使用谓词匹配字符

//处理表情
+ (
NSString   *)parseFaceText:( NSString   *)text
{
   
  NSString   *regexFace =   @"\\[\\w+\\]" ;
   
  NSArray   *faceArray = [text   componentsMatchedByRegex :regexFace];
   
   
  //[哈哈]----替换成<image url = '001.png'>
   
  for   ( NSString   *faceName   in   faceArray) {
       
  NSString   *filePath = [[ NSBundle   mainBundle ]   pathForResource : @"emoticons"   ofType : @"plist" ];
       
  NSArray   *faceConfig = [ NSArray   arrayWithContentsOfFile :filePath];
       
  //使用谓词查找表情名所在的文件的item
       
  NSString   *t = [ NSString   stringWithFormat : @"self.chs = '%@'" ,faceName];
       
  NSPredicate   *predicate = [ NSPredicate   predicateWithFormat :t];
       
  NSArray   *items = [faceConfig   filteredArrayUsingPredicate :predicate];
       
  if   (items. count   > 0) {
           
  NSDictionary   *faceItem = [items   objectAtIndex :0];
           
  //取图片的名字
           
  NSString   *imgName = [faceItem   objectForKey : @"png" ];
           
  NSString   *replaceStr = [ NSString   stringWithFormat : @"<image url = '%@'>" ,imgName];
           
  //字符串替换
            text = [text
  stringByReplacingOccurrencesOfString :faceName   withString :replaceStr];
        }
       
    }
   
   
  return   text;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值