我正在处理来自Twitter Api的推文,很多推文都有表情符号。我正在尝试跟踪最常用的表情符号,但我实际上无法识别它们。
我正在使用:https://github.com/iamcal/emoji-data来识别表情符号。
我不知道如何判断字符串是否包含表情符号。我已经尝试将正则表达式与表情符号数据“统一”字段一起使用,我试过检查字符串是否包含该字段。我真的只是不确定如何检查表情符号..任何帮助将不胜感激。
val pattern = new Regex("(${a.unified})")
(pattern findAllIn text).mkString(",")
这是我尝试使用正则表达式。这找不到任何表情符号。我也尝试在表情符号数据的统一字段之前添加\ u,但这没有帮助。
答案 0 :(得分:5)
您可以使用以下Regex查找表情符号字符(以及Unicode语言平面之外的其他字符):
[^\u0000-\uFFFF]
例如,我们使用以下代码从字符串中过滤出表情符号:
"some string".replaceAll("[^\u0000-\uFFFF]", "");
希望有所帮助。
答案 1 :(得分:0)
您的代码即将生效。要从text
中提取表情符号,请尝试:
"""\p{block=Emoticons}""".r.findAllIn(text).mkString
例如:
scala> val text = "Use regex and now you have two problems "
scala> """\p{block=Emoticons}""".r.findAllIn(text).mkString
res0: String =