EmojiFilter 【检测是否有emoji字符】
来源:互联网 发布:一片汪都不见,知向谁边 编辑:程序博客网 时间:2024/06/05 20:13
package com.tynet.util;public class EmojiFilter { /** * 检测是否有emoji字符 * * @param source * @return 一旦含有就抛出 */ public static boolean containsEmoji(String source) { if (StringUtils.isBlank(source)) { return false; } int len = source.length(); for (int i = 0; i < len; i++) { char codePoint = source.charAt(i); if (isEmojiCharacter(codePoint)) { // do nothing,判断到了这里表明,确认有表情字符 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)); return ((codePoint >= 0x0000) && (codePoint <= 0xFFFF)); } /** * 过滤emoji 或者 其他非文字类型的字符 * * @param source * @return */ 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 { buf.append("\\u" + Integer.toHexString(codePoint));// } } if (buf == null) { return source;// 如果没有找到 emoji表情,则返回源字符串 } else { if (buf.length() == len) {// 这里的意义在于尽可能少的toString,因为会重新生成字符串 buf = null; return source; } else { return buf.toString(); } } }}
0 0
- EmojiFilter 【检测是否有emoji字符】
- C#检测是否有Sql危险字符
- 检测字符串中是否有字符重复
- EmojiFilter
- android兼容emoji显示以及检测是否支持emoji
- js检测是否含有emoji表情
- 判断输入的字符是否是emoji
- 判断文本是否有Emoji表情
- 检测是否有浏览器
- 快速检测一个字符数组中是否有重复的字符
- 检测字符串中是否有非法的字符,如果有,返回true
- 检测是否含有特殊字符
- 在android输入框中判断是否有Emoji表情
- Android检查文本中是否有emoji表情
- 检测主机是否有Sqlserver
- 检测iphone是否有网络
- 检测iphone是否有网络
- 链表--检测是否有环
- 知道csdn 的存在,开通博客,记录自己学习python经历的小发现及历程
- Redirecting an arbitrary Console's Input/Output
- 遗传算法及其java实现
- 2014兄弟连cocos2d-x3.0视频教程
- 字符串翻转
- EmojiFilter 【检测是否有emoji字符】
- 设置网站主页步骤
- Sundy嵌入式底层课程-13年
- count
- 【设计模式】简单工厂模式
- linux命令之----find用于指定目录下查找文件
- Java ConcurrentLinkedQueue队列线程安全操作
- GUI awt包中的鼠标监听事件
- 胜利大逃亡(续)