java 替换掉emoji表情

今天做搜索功能的时候发现用户提交的emoji的符号上来搜索,导致mysql数据库中的字段like的时候发生字符集类型不匹配的错误,可能对最新的emoji支持的也不是很全面,代码如下:

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;  
 }

Leave a Comment

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据