EmojiFilter.filterEmoji(weiUserInfo.getNickname());

/**

* 过滤emoji表情与非emoji表情

* @author suzhenwei

*

*/

public class EmojiFilter {

/**

* 过滤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 (notisEmojiCharacter(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();

}

}

}

/**

* 检测是否有emoji字符

* @param source 需要判断的字符串

* @return 一旦含有就抛出

*/

public static boolean containsEmoji(String source) {

int len = source.length();

for (int i = 0; i < len; i++) {

char codePoint = source.charAt(i);

if (!notisEmojiCharacter(codePoint)) {

return true;

}

}

return false;

}

/**

* 非emoji表情字符判断

* @param codePoint

* @return

*/

public static boolean notisEmojiCharacter(char codePoint) {

return (codePoint == 0x0) || (codePoint == 0x9) || (codePoint == 0xA) || (codePoint == 0xD)

|| ((codePoint >= 0x20) && (codePoint <= 0xD7FF)) || ((codePoint >= 0xE000) && (codePoint <= 0xFFFD))

|| ((codePoint >= 0x10000) && (codePoint <= 0x10FFFF));

}

}

java 过滤微信昵称_java过滤微信昵称特殊字符相关推荐

  1. java 微信请求_Java web微信请求拦截器(微信公众号开发)

    Java web微信请求拦截器(微信公众号开发),获取微信用户信息. package com.mvc.interceptor; import com.alibaba.fastjson.JSONObje ...

  2. java 过滤微信昵称_java过滤微信昵称emoji表情与非emoji的问题解决方法

    import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 过滤emoji表情与非emoji表情 * @author h ...

  3. java微信机器人_Java版微信机器人代码

    Java版微信机器人代码 (2014-07-31 09:47:58) 标签: 软件测试 java 上海泽众软件 package com.eiyoung.wechat.web.controller; i ...

  4. java rmi 推送_java 企业微信推送消息 示例源码

    [实例简介] [实例截图] [核心代码] package com.kp.qy.web; import java.io.UnsupportedEncodingException; import java ...

  5. java 微信模板_java开发微信模板消息推送

    概述 微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹出一个窗口让你分享和关注,这个是怎么实现的呢?今天就给大家讲解下如何在微信公众平台前端网页上添 ...

  6. java后台过滤特殊表情_java过滤表情图标

    package com.yt.util; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apac ...

  7. java 创建自定义菜单_Java实现微信公众号自定义菜单的创建方法示例

    本文实例讲述了Java实现微信公众号自定义菜单的创建方法.分享给大家供大家参考,具体如下: 开发公众号的时候可能需要给一些自定义菜单添加事件,比如点击某菜单然后服务端给用户推送信息. 我们也可以使用微 ...

  8. JAVA 实现朋友圈_Java实现微信公众平台朋友圈分享功能详细代码

    其实分享的方法在微信官网有较为详细的文档说明,现就其中一些比较绕的步骤进行总结,有问题随时交流哈. 首先微信其实已经自带分享到朋友圈,朋友,qq空间等功能,对于开发微信专门提供了一个接口,可以根据需要 ...

  9. java 红包接口开发_java调用微信现金红包接口的心得与体会总结

    这几天看了下之前写的有关微信支付的博客,看的人还是挺多的,看了下留言不知道是因为博客写的不够细还是什么情况,大多都找我要源码,我觉得吧程序员还是需要有这么一个思考的过程,因此没直接给源码,俗话说&qu ...

  10. java微信红包_Java模拟微信发红包(普通红包、拼手气红包)

    假设红包总额M元,分给N个人. 满足条件: 如果是普通红包,每个人获得的金额都一样: 如果是拼手气红包,则有所区别,但不能金额过于离谱,比如第一个获得的太多,以至于后来的人都几乎没得分. 注意点: 1 ...

最新文章

  1. 一种快速统计SQL Server每个表行数的方法
  2. java cometd_关于cometd的一些经验总结-java端
  3. 让FFMPEG支持实时流“伴随”转码
  4. 地址里面写转某快递会转吗_到付邮费骗局还在继续,合肥某公司中招!商标申请人要警惕!...
  5. 【.net 深呼吸】自定义应用程序配置节
  6. 这两天有点热吆,star直线上涨!~Jeecg Boot
  7. sarscape 将dem文件转化成stl_STL文件,一种前处理网格划分技术??
  8. 【原创】基于NIOS II的ADS1256 SPI驱动
  9. NDoc使用简要手册 及中文支持(转)
  10. SQL的「悲观锁定」与「乐观锁定」
  11. Python中list.pop()的使用
  12. [javase学习笔记]-8.8 构造代码块
  13. 今天再发一下热门关键字,看看能否推广网站
  14. win10电脑任务栏右侧小图标消失解决方法
  15. CVPR 2020 论文大盘点-去雨去雾去模糊篇
  16. tlwr840n虚拟服务器,TP-Link TL-WR840N 300M无线路由器设置
  17. 1.1UiPath下载安装与激活
  18. 软件测试工作流程规范
  19. CommonUtils 工具类
  20. arm64的ioremap_ARMv8 内存管理架构.学习笔记

热门文章

  1. matlab 线性拟合polyfit_Matlab 线性拟合 非线性拟合_matlab非线性拟合函数
  2. 鼠标移上提示框 提示框不消失
  3. Win10 将 Bookmarks 的书签恢复到 Chrome
  4. 在夕阳再晨的日子里(二)----掌管市场部的岁月之合作团队与社区的拓展
  5. 有什么软件测试固态硬盘,SSD差距有多大?两款主流NVMe固态硬盘测试,一看就包懂...
  6. RAID磁盘阵列与配置
  7. UIAutomator2常用类之UiObject2
  8. 学习心得 Tianmao 篇 RecyclerView.Adapter 我自己的使用理解(类组合模式)
  9. Class Not Found 的错误解决
  10. Linux内核子系统---内存管理子系统、进程管理子系统