如何在Java中检查字符串是否包含表情符号

问题描述 投票:0回答:1

我想用Java语言来识别一个字符串类型的数据是否包含emoji。

我使用“[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]”常规来查找有表情符号的字符串,但找到它不全面,部分表情无法识别。有没有更全面的正则表达式来解决这个问题。比如🥰🥲表情符号无法与我的正则匹配

java string match emoji
1个回答
0
投票

你可以尝试一下 Java Emoji 库吗?

Gradle Kotlin DSL

implementation("net.fellbaum:jemoji:1.4.0")

Maven

 <dependency>
     <groupId>net.fellbaum</groupId>
     <artifactId>jemoji</artifactId>
     <version>1.4.0</version>
  </dependency>

示例1:检查提供的字符串是否包含表情符号

boolean test4= EmojiManager.containsEmoji("like 🥰🥲 emoji");//true
boolean test1= EmojiManager.containsEmoji("Hello 😀 World");//true
boolean test2= EmojiManager.containsEmoji("This string contains beans 🫘");//true
boolean test3= EmojiManager.containsEmoji("Hello World");//false

示例2:检查提供的字符串是否是表情符号

boolean isEmoji=EmojiManager.isEmoji("😀");//true

示例 3:按照出现的顺序从字符串中提取所有表情符号

List<Emoji> emojis=EmojiManager.extractEmojisInOrder("Hello 😀 World 👍"); // [😀, 👍]

更多信息请访问https://github.com/felldo/JEmoji

© www.soinside.com 2019 - 2024. All rights reserved.