JAVA过滤emoji表情包

package com.xw.paintheart.utils;

import org.apache.commons.lang.StringUtils;

public class EmojiFilterUtils {

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

    /**
     * 过滤emoji 或者 其他非文字类型的字符
     *
     * @param source
     * @return
     */
    public static String filterEmoji(String source) {
        if (StringUtils.isBlank(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);
            }
        }
        if (buf == null) {
            return "";
        } else {
            if (buf.length() == len) {
                buf = null;
                return source;
            } else {
                return buf.toString();
            }
        }
    }

}

原文地址:https://www.cnblogs.com/hxhome/p/10898345.html

时间: 2024-08-29 06:30:23

JAVA过滤emoji表情包的相关文章

Java过滤emoji表情,找出emoji的unicode范围。

/** * 过滤Emoji表情 * @author Kunjie * 2015年7月17日 */ public class EmojiFilter { public static void main(String[] args) { System.out.println(filter("啊阿萨德发秦莞尔")); } public static String filter(String str){ if(str == null || str.l

java代码过滤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.UNIC

WordPress 使用本地化的 emoji 表情包

结合使用 Native Emoji 和 WP Local Emoji 两个插件,可以达到使用本地化的 emoji 表情包的目的. 安装好上述两个插件并且启用: 为了使 Native Emoji 表情使用本地化的 emoji 表情包图片,而不是 s.w.org 域名下的表情包图片,需要修改以下两处源代码. 修改 wp-content/plugins/native-emoji/js/tinymce-plugin.js,替换以下代码: html += '<td class="' + img +

Java 解决Emoji表情过滤问题

Emoji表情从三方数据中获取没有过滤,导致存入DB的时候报错. 原因: UTF-8编码有可能是两个.三个.四个字节.Emoji表情是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去. 方法1.将已经建好的表也转换成utf8mb4 2,写个工具类:过滤掉emoji表情符号 public class EmojiFilter { private static boolean isEmojiCharacter(char codePoint) { return (codePoint =

java 处理emoji表情

public class EmojiUtil { /**  * 将str中的emoji表情转为byte数组  *   * @param str  * @return  */ public static String resolveToByteFromEmoji(String str) { Pattern pattern = Pattern .compile("[^(\u2E80-\u9FFF\\w\\s`[email protected]#\\$%\\^&\\*\\(\\)_+-?()-

过滤Emoji表情&#128522;

代码: public static boolean containsEmoji(String source) { int len = source.length(); for (int i = 0; i < len; i++) { char codePoint = source.charAt(i); if (!isEmojiCharacter(codePoint)) { //如果不能匹配,则该字符是Emoji表情 return true; } } return false; } /** * 判断

用JS过滤Emoji表情的输入

本文为原创,转载请注明出处: cnzt       文章:cnzt-p http://www.cnblogs.com/zt-blog/p/6773854.html 在前端页面开发过程中,总会碰到不允许输入框输入emoji表情的需求,我的思路是通过编码用正则匹配表情,然后将其替换为空字符创.但是问题也是显而易见的,完整的编码集是什么呢?查阅了官方文档,发现上面并没有给出想要的答案.并且很多emoji表情除了主编码还有副编码(这是我给取的名字),举个例子: \uD83C\uDC00是一个表情,\uD

过滤emoji表情符

1.使用正则匹配 public  function remove_emoji($text){        return preg_replace('/([0-9|#][\x{20E3}])|[\x{00ae}|\x{00a9}|\x{203C}|\x{2047}|\x{2048}|\x{2049}|\x{3030}|\x{303D}|\x{2139}|\x{2122}|\x{3297}|\x{3299}][\x{FE00}-\x{FEFF}]?|[\x{2190}-\x{21FF}][\x{F

python3 清除过滤emoji表情

https://www.cnblogs.com/lizm166/p/9662995.html def filter_emoji(desstr,restr=''): #过滤表情 try: co = re.compile(u'[\U00010000-\U0010ffff]') except re.error: co = re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]') return co.sub(restr, desstr) 原文地址:https://www