正则筛选字数&GBK转码

正则:

    //1.去除Html语句<>
    NSString * preStr1 =@"<([0-9a-zA-Z\"=#:\\/\\.\\_\\-\\?  ])*>|<\\/([0-9a-zA-Z\"=#:\\/\\.\\_\\-\\?  ])*>|<([0-9a-zA-Z\"=#:\\/\\.\\_\\-\\?  ])*\\/>";
    NSString * replacement = @"";
    
    NSRegularExpression *regExp = [[NSRegularExpression alloc] initWithPattern:preStr1
                                                                       options:NSRegularExpressionCaseInsensitive
                                                                         error:nil];
    //替换
    newLengthStr = [regExp stringByReplacingMatchesInString:newLengthStr
                                                 options:NSMatchingReportProgress
                                                   range:NSMakeRange(0, newLengthStr.length)
                                            withTemplate:replacement];

  • 用到的正则:1.特殊符号
"/(?<=[^x00-xff!…“”《》—、’])( | )(?=[^x00-xff!…""《》-、'])/"
  • 2.\r\n 如果连续大于3个的情况
"(\r\n){3,}"

根据GBK计算长度

    //GBK转码
    NSStringEncoding gbkEncoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
    NSData *data=[newLengthStr dataUsingEncoding:gbkEncoding];
    NSInteger length = 0;
    if (data.length % 2 == 0) {
        length = data.length /2;
    }else{
        length = data.length /2 + 1;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,437评论 30 472
  • 之前也很困惑,为什么钱赚的越来越多,却总是觉得越来越不够花呢?还是自己的金钱观有问题,理财绝对是通...
    静静是我啦阅读 1,886评论 1 1
  • 积极觉察表 一,今天玩成状况如何? 很差。早起高标准。其余未达到。 二 分析原因 最近自我管理越来越差了。不知道怎...
    再见你好_8260阅读 1,238评论 0 0
  • 1.主动扩展。查阅资料,如介绍上海。第四单元。 2.儿子参与。培养打招呼的习惯。每次都要给老师秀他的乐高和画画作品...
    琼sq阅读 1,355评论 0 0
  • 安静的夜晚 最不适合的就是看考题
    晴天兔子阅读 1,436评论 0 0

友情链接更多精彩内容