美文网首页
iOS-带emoji表情的字符串长度限制

iOS-带emoji表情的字符串长度限制

作者: 無能_ | 来源:发表于2018-11-27 20:35 被阅读0次
    /**
     裁剪带表情的字符串
     
     @param string 字符串
     @param limit 字数限制
     @return 裁剪后的字符串
     */
    + (NSString *)clipEmojiString:(NSString *)string ByLimit:(NSUInteger)limit {
        NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[^\\u0020-\\u007E\\u00A0-\\u00BE\\u2E80-\\uA4CF\\uF900-\\uFAFF\\uFE30-\\uFE4F\\uFF00-\\uFFEF\\u0080-\\u009F\\u2000-\\u201f\r\n]"options:NSRegularExpressionCaseInsensitive error:nil];
        NSArray *array = [regex matchesInString:string options:0 range:NSMakeRange(0, string.length)];
        if (array.count) {
            NSRange range;
            NSInteger count = 0;
            for (NSUInteger index = 0; index < string.length; index += range.length) {
                range = [string rangeOfComposedCharacterSequenceAtIndex:index];
                if (++count == limit + 1) {
                    string = [string substringToIndex:range.location];
                    break;
                }
            }
        }else{
            if (string.length > limit) {
                string = [string substringToIndex:limit];
            }
        }
        return string;
    }
    

    相关文章

      网友评论

          本文标题:iOS-带emoji表情的字符串长度限制

          本文链接:https://www.haomeiwen.com/subject/mlbnqqtx.html