and

iOS 过滤Emoji表情

2017-07-22  本文已影响248人  我是不是叫没烦恼

.h内容

#import <Foundation/Foundation.h>

@interface NSString (CheckFormat)
- (NSString *)noEmoji;
@end

.m 内容

#import "NSString+CheckFormat.h"

@implementation NSString (CheckFormat)

- (NSString *)noEmoji {
    //去除表情规则
    //  \u0020-\\u007E  标点符号,大小写字母,数字
    //  \u00A0-\\u00BE  特殊标点  (¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾)
    //  \u2E80-\\uA4CF  繁简中文,日文,韩文 彝族文字
    //  \uF900-\\uFAFF  部分汉字
    //  \uFE30-\\uFE4F  特殊标点(︴︵︶︷︸︹)
    //  \uFF00-\\uFFEF  日文  (オカキクケコサ)
    //  \u2000-\\u201f  特殊字符(‐‑‒–—―‖‗‘’‚‛“”„‟)
    // 注:对照表 http://blog.csdn.net/hherima/article/details/9045765
    
    NSRegularExpression* expression = [NSRegularExpression regularExpressionWithPattern:@"[^\\u0020-\\u007E\\u00A0-\\u00BE\\u2E80-\\uA4CF\\uF900-\\uFAFF\\uFE30-\\uFE4F\\uFF00-\\uFFEF\\u2000-\\u201f\r\n]" options:NSRegularExpressionCaseInsensitive error:nil];
    
    
    NSString* result = [expression stringByReplacingMatchesInString:self options:0 range:NSMakeRange(0, self.length) withTemplate:@""];
    
    return result;
}
@end
上一篇下一篇

猜你喜欢

热点阅读