java - 如何排除“:\”被视为表情符号
问题描述
我有一个包含文件夹路径的字符串,如“C:\Users\Desktop\facebook.png”。我还需要从输入字符串中检测表情符号(如果有的话),并且我正在使用 EmojiUtils.emojify 方法。然而,“:\”被一个困惑的表情符号取代。 我怎样才能防止这种情况发生
使用 emoji4j 版本 5
解决方案
这取决于 EmojiUtils 的库。如果您使用 Emoji4j >= 6.0( https://github.com/kctota/emoji4j ),文档说明了如何执行此操作:
String text = "http://www.github.com and https://www.google.com are awesome :-).";
EmojiManager.addStopWords("http://", "https://");
EmojiUtils.emojify(userText) //returns http://www.github.com and https://www.google.com are awesome .
因此,在问题中描述的情况下,停用词可能是“C:/”,尽管这可能需要更多。
如果您使用不同的库/版本,一种方法是将文本拆分为路径或其他文本的字符串列表,仅对其他文本部分进行表情符号化,然后再次合并该列表。一个类似的问题在这里有一个答案:Is it possible to filter bad language words using Java?
推荐阅读
- three.js - 在 Three.js 中用平面剪裁几何
- r - 在调整后的生存曲线 ggadjustedcurves (survminer, ggplot2) 中自定义线型
- mysql - 更新大量数据、日期(+1 小时)、约束 uniq
- solr - 记录字段值作为 solr 中嵌套子查询的参数
- git - 如何使用 repo 工具镜像一个由多个 git 存储库组成的项目
- html - 目标计数器不适用于 css 打印目录页
- xaml - 如何从它自己的 XAML 中设置属性后面的 Xaml 代码。例如“这个”
- c++ - 为什么 parse_config_file 在流上设置故障位?
- html - 当屏幕大小改变时缩放背景图像/ div 大小?
- sql - where 子句,case 语句