Regex 如何在scala中识别表情符号?
我正在处理来自Twitter Api的推文,很多推文都有表情符号。我试图追踪最常用的表情符号,但实际上我很难识别它们 我用:来识别表情符号Regex 如何在scala中识别表情符号?,regex,string,scala,twitter,emoji,Regex,String,Scala,Twitter,Emoji,我正在处理来自Twitter Api的推文,很多推文都有表情符号。我试图追踪最常用的表情符号,但实际上我很难识别它们 我用:来识别表情符号 我不知道如何判断字符串是否包含表情符号。我尝试过将regex与emoji数据“unified”字段一起使用,我尝试过只检查字符串是否包含该字段。我真的不知道如何检查表情符号。。任何帮助都将不胜感激 val pattern = new Regex("(${a.unified})") (pattern findAllIn text).mkString(",")
我不知道如何判断字符串是否包含表情符号。我尝试过将regex与emoji数据“unified”字段一起使用,我尝试过只检查字符串是否包含该字段。我真的不知道如何检查表情符号。。任何帮助都将不胜感激
val pattern = new Regex("(${a.unified})")
(pattern findAllIn text).mkString(",")
这就是我使用正则表达式所尝试的。这找不到任何表情符号。我也尝试过在表情符号数据的统一字段之前添加\u,但没有帮助 您可以使用以下正则表达式查找表情符号(以及Unicode语言平面之外的其他字符):
[^\u0000-\uFFFF]
例如,我们使用以下代码从字符串中过滤出表情符号:
“某些字符串”.replaceAll([^\u0000-\uFFFF],”)代码>
希望这能有所帮助。您的代码即将运行。要从文本中提取表情符号,请尝试:
"""\p{block=Emoticons}""".r.findAllIn(text).mkString
例如:
scala>val text=“使用正则表达式,现在有两个问题”我已经尝试将正则表达式与表情符号数据“统一”字段一起使用-显示您尝试过的代码。该regexp过滤掉所有非拉丁字母的符号,而不仅仅是表情符号。举个例子,用西里尔语试试。不幸的是,它在复杂的表情上失败了。e@ValeryRyaboshapko向正则表达式添加了一些额外的块:“[\p{block=Emoticons}\p{block=杂项符号和象形文字}\p{block=Supplemental Symbols and Pictographs}]”(“@darrenmc我收到一个错误,说程序无法识别补充符号和象形文字。我需要导入任何库才能将它们添加到我的正则表达式中吗?@tharindu您不需要任何其他导入,因为这是内置在Java标准库中的。要支持“补充符号和象形文字”,您需要启用Java 10或更高版本。