public static String filterEmoji(String source) {
if (source != null) {
Pattern emoji = Pattern.compile("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]",
Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE);
Matcher emojiMatcher = emoji.matcher(source);
if (emojiMatcher.find()) {
source = emojiMatcher.replaceAll("");
return source;
}
return source;
}
return source;
}
如下:
var reg=new RegExp('[\u2600-\u27ff]','g');
var newSource=source.replace(reg, '');
你这正则有问题:[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff] 表示看不懂。
[\u2600-\u27ff]这样的可以,两个合起来还能指定范围的,没见过。
[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]
是这个意思吧:
[\udc00-\ud83c]|[\udc00-\ud83d]|[\u2600-\u27ff]|[\ud83c\udfff\ud83d\udfff]