如何判别字段中是否包含了emojicon表情以及过滤相关内容

来源:互联网 发布:数据库爆破工具 编辑:程序博客网 时间:2024/06/05 15:20
<span style="font-family: Arial, Helvetica, sans-serif;">过滤该表情</span>
public static String filterEmoji(String source) {  if (!containsEmoji(source)) {   return source;// 如果不包含,直接返回  }    StringBuilder buf = null;  int len = source.length();  for (int i = 0; i < len; i++) {   char codePoint = source.charAt(i);   if (!isEmojiCharacter(codePoint)) {    if (buf == null) {     buf = new StringBuilder(source.length());    }    buf.append(codePoint);   } else {   }  }  if (buf == null) {   return "";  } else {   if (buf.length() == len) {// 这里的意义在于尽可能少的toString,因为会重新生成字符串    buf = null;    return source;   } else {    return buf.toString();   }  } } 
// 判别是否包含Emoji表情 private static boolean containsEmoji(String str) {  int len = str.length();  for (int i = 0; i < len; i++) {   if (isEmojiCharacter(str.charAt(i))) {    return true;   }  }  return false; }  private static boolean isEmojiCharacter(char codePoint) {        return !((codePoint == 0x0) ||                (codePoint == 0x9) ||                (codePoint == 0xA) ||                (codePoint == 0xD) ||                ((codePoint >= 0x20) && (codePoint <= 0xD7FF)) ||                ((codePoint >= 0xE000) && (codePoint <= 0xFFFD)) ||                ((codePoint >= 0x10000) && (codePoint <= 0x10FFFF)));    }

2 1
原创粉丝点击