Android中怎么利用正则表达式过滤emoji表情

Android中怎么利用正则表达式过滤emoji表情?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

专业领域包括成都网站设计、做网站、商城网站制作、微信营销、系统平台开发, 与其他网站设计及系统开发公司不同,创新互联公司的整合解决方案结合了帮做网络品牌建设经验和互联网整合营销的理念,并将策略和执行紧密结合,为客户提供全网互联网整合方案。

原因:UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去

讨论了一些方案,最后还是前端来做过滤,如果是Emoji表情直接干掉,因此也找了一些正则表达式,记录下

只过滤一Emoji表情:

[^\u0000-\uFFFF]

过滤Emoji表情和颜文字:

[\\ud83c\\udc00-\\ud83c\\udfff]|[\\ud83d\\udc00-\\ud83d\\udfff]|[\\u2600-\\u27ff]|[\\ud83e\\udd00-\\ud83e\\uddff]|[\\u2300-\\u23ff]|[\\u2500-\\u25ff]|[\\u2100-\\u21ff]|[\\u0000-\\u00ff]|[\\u2b00-\\u2bff]|[\\u2d06]|[\\u3030]

写了个静态方法使用:

/** 
   * Emoji表情校验 
   * 
   * @param string 
   * @return 
   */ 
  public static boolean isEmoji(String string) { 
    //过滤Emoji表情 
    Pattern p = Pattern.compile("[^\\u0000-\\uFFFF]"); 
    //过滤Emoji表情和颜文字 
    //Pattern p = Pattern.compile("[\\ud83c\\udc00-\\ud83c\\udfff]|[\\ud83d\\udc00-\\ud83d\\udfff]|[\\u2600-\\u27ff]|[\\ud83e\\udd00-\\ud83e\\uddff]|[\\u2300-\\u23ff]|[\\u2500-\\u25ff]|[\\u2100-\\u21ff]|[\\u0000-\\u00ff]|[\\u2b00-\\u2bff]|[\\u2d06]|[\\u3030]"); 
    Matcher m = p.matcher(string); 
    return m.find(); 
  }

看完上述内容,你们掌握Android中怎么利用正则表达式过滤emoji表情的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


本文标题:Android中怎么利用正则表达式过滤emoji表情
本文来源:http://bzwzjz.com/article/pcjcci.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站建设流程 成都网站建设公司 成都网站建设 网站设计 成都品牌网站设计 成都响应式网站建设 成都网站制作 响应式网站设计 手机网站设计 商城网站建设 重庆网站制作 成都网站设计 成都网站建设公司 网站建设公司 移动网站建设 网站建设方案 成都网站设计 营销型网站建设 企业网站制作 宜宾网站设计 成都网站设计制作公司 定制级高端网站建设