Java 21增强对Emoji表情符号的处理了

这篇具有很好参考价值的文章主要介绍了Java 21增强对Emoji表情符号的处理了。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

现一个 Java 21 中有意思的东西!

java.Lang.Character类中增加了用于确定字符是否为 Emoji 表情符号的 API,主要包含下面六个新的静态方法:

public static boolean isEmoji(int codePoint) {
  return CharacterData.of(codePoint).isEmoji(codePoint);
}

public static boolean isEmojiPresentation(int codePoint) {
  return CharacterData.of(codePoint).isEmojiPresentation(codePoint);
}

public static boolean isEmojiModifier(int codePoint) {
  return CharacterData.of(codePoint).isEmojiModifier(codePoint);
}

public static boolean isEmojiModifierBase(int codePoint) {
  return CharacterData.of(codePoint).isEmojiModifierBase(codePoint);
}
  
public static boolean isEmojiComponent(int codePoint) {
  return CharacterData.of(codePoint).isEmojiComponent(codePoint);
}

public static boolean isExtendedPictographic(int codePoint) {
  return CharacterData.of(codePoint).isExtendedPictographic(codePoint);
}

这些静态方法通过接收字符的codePoint来判断是否为表情符号来返回boolean值。

所以,我们可以用isEmoji方法来判断字符串中是否有表情,比如:

@Test
void testEmoji() {
  String message = "欢迎来到 www.didispace.com ❤️,要不要来杯 ☕️ ?";
  if(message.codePoints().anyMatch(Character::isEmoji)) {
    System.out.println("Message包含表情");
  }
}

除了判断字符串中是否包含表情符号之外,还能用isEmojiModifierisEmojiModifierBase来判断Emoji是否被修改和是否可以被修改:

@Test
void testEmoji2() {
  String welcomeMsg ="欢迎来到 www.didispace.com ❤️,要不要来杯 ☕️ ?";
  OptionalInt emojiOptional = welcomeMsg.codePoints().filter(Character::isEmoji).findFirst();
  if (emojiOptional.isPresent()) {
    int emojiCodePoint = emojiOptional.getAsInt();
    if (Character.isEmojiModifierBase(emojiCodePoint)) {
      System.out.println("Emoji can be modified");
      if (Character.isEmojiModifier(emojiCodePoint))
        System.out.println("Emoji is modified");
      else
        System.out.println("Emoji has not been modified");
    } else
      System.out.println("Emoji cannot be modified");
  } else
    System.out.println("No emoji present");
}

使用正则表达式

这些新方法也可以通过属性构造正则表达式来使用,比如:

String welcomeMsg = "欢迎来到 www.didispace.com ❤️,要不要来杯 ☕️ ?";

Matcher matcher = Pattern.compile("\\p{IsEmoji}").matcher(welcomeMsg);

if(matcher.find()) {
	System.out.println("Message contains an emoji!");
}

matcher = Pattern.compile("\\p{IsEmoji_Modifier_Base}").matcher(welcomeMsg);

if(matcher.find()) {
	System.out.println("Message contains an emoji modifier base!");
}

如果您学习过程中如遇困难?可以加入我们超高质量的技术交流群,参与交流与讨论,更好的学习与进步!另外,不要走开,关注我!持续更新Java新特性专栏!

欢迎关注我的公众号:程序猿DD。第一时间了解前沿行业消息、分享深度技术干货、获取优质学习资源文章来源地址https://www.toymoban.com/news/detail-747226.html

到了这里,关于Java 21增强对Emoji表情符号的处理了的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 社交媒体中的表情符号结合大数据 AI 的研究 Analyzing Emoji Use in Social Media Posts Insights

    作者:禅与计算机程序设计艺术 在社交媒体中,由于使用了表情符号表述自己的情感,使得用户对某类产品或服务表达出的态度更加直观、生动。在这一领域,研究人员需要收集和分析社交媒体上的文字和图片数据,以此探索用户对于 popular emojis 的态度倾向及其产生的影响

    2024年02月08日
    浏览(31)
  • 发现一个好玩的东西:Markdown 使用 Emoji 表情

    有两种方法可以将表情符号添加到Markdown文件中: 将表情符号复制并粘贴到Markdown格式的文本中 或者键入emoji shortcodes。 在大多数情况下,您可以简单地从Emojipedia等来源复制表情符号并将其粘贴到文档中。许多Markdown应用程序会自动以Markdown格式的文本显示表情符号。从Markd

    2024年02月06日
    浏览(27)
  • 《论文阅读》用于情感分析的融合预训练表情符号特征增强

    前言 你是否也对于理解论文存在困惑? 你是否也像我之前搜索论文解读,得到只是中文翻译的解读后感到失望? 小白如何从零读懂论文?和我一起来探索吧! 今天为大家带来的是《Fusion Pre-trained Emoji Feature Enhancement for Sentiment Analysis》 出版:2023 Association for Computing Machiner

    2024年02月09日
    浏览(42)
  • HTML常用表情Emoji‍♂️和Emoji参考手册

    HTML表情可以用来在网页中插入各种表情符号图标,丰富了网页表现形式和视觉效果。下面是一些常用HTML表情代码大全📜 ⚽🐰🦋🌅💥🍐🍞🙇🏌 🐶🐔🍃 🌞🌈🙈🍀💜 🕊🐯🙋‍♂️ 🔥⏰🧧📢🐾🐠🥤🐌🙏💕😼🎈🍓💤🌟🐈🐝🌕💫🥫🌪💪🥛🎹🥦🐠🔒🍌

    2024年02月13日
    浏览(31)
  • Unity UGUI TextMeshPro实现输入中文和表情包(Emoji)表情

    目录 实现中文显示 准备工作 1、打开Window——TextMeshPro——FontAssetCreator 2、把字体文件放入SourceFont中 3、把CharacterSet改为Characters from File 4、把字体库文件放入Characters File 5、设置好参数点击Generate Font Atlas等待完成后保存 6、把生成后保存的字体文件退拽到Font Asset即可 效果演

    2024年01月18日
    浏览(30)
  • ChatGPT实现markdown 格式与 emoji 表情

    书写文章时,巧妙的使用一些小图标,可以给文章增加不少的灵动感,读者也会感觉更加轻松。恰当的图标也能增进读者对内容的理解。ChatGPT 目前不能直接联网,但可以使用 emoji 表情文字来达到类似的效果。我们在不少 GitHub 的项目介绍和个人介绍页面上,都可以看到在列

    2024年02月07日
    浏览(34)
  • Unity中使用TextMeshPro打出Emoji表情

    最近遇到一个需求,在聊天框中支持用户的Emoji输入,查了半天资料没有一个能说清楚的,于是自己研究琢磨了下。 最终效果 最终效果可以在APP输入框中使用系统的输入法输入emoji表情并显示,如下 1.1 准备好emoji素材 找到emoji图片,注意需要是 unicode.png 格式命名的。github上

    2024年01月18日
    浏览(35)
  • iOS开发-聊天emoji表情与自定义动图表情左右滑动控件

    iOS开发-聊天emoji表情与自定义动图表情左右滑动控件 之前开发中遇到需要实现聊天emoji表情与自定义动图表情左右滑动控件。使用UICollectionView实现。 UICollectionView是一种类似于UITableView但又比UITableView功能更强大、更灵活的视图,这是源于它将UICollectionView对cell的布局交给了

    2024年02月15日
    浏览(41)
  • 在Unity的UGUI中使用EMOJI表情

    项目中遇到有玩家名称里面有emoji,需要显示,于是开始着手弄这个功能。 查了各种资料,发现ugui好像弄不了。先是在github上看了 https://github.com/mcraiha/Unity-UI-emoji 但是下载下来用不了,然后在 csdn 上也各种看了下,都写的有板有眼的但是用2021.3的unity都跑不出来博客里描述的

    2024年01月16日
    浏览(30)
  • uniapp - [全端兼容] 详细使用 emoji 表情包,在输入框中发送及显示 emoji 表情(全平台小程序/ H5 / App通用,类似微信聊天的小表情,支持文字与表情混合在一起,后端易存储)

    网上的教程都太乱了,各平台之间不兼容、各种显示表情的 BUG 一大堆问题,很难进行复制使用。 本文 实现了在 uniapp 全端兼容(h5网页 / 小程序 / 安卓苹果app / nvue等)项目开发中,详细引入并使用 emoji 表情库插件,支持表情的自定义增删、表情样式控制等, 全平台通用插

    2024年02月15日
    浏览(224)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包