8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

JavaAdvent Calendar 2017

Day 14

Javaでお手軽に絵文字を使うライブラリ emoji-java の紹介

Last updated at Posted at 2017-12-13

この記事はJava Advent Calendar 2017の14日目の記事です。
昨日は@Itinoiseさんの『ふわっとStreamで試したいこと試してみた。』でした。

概要

emoji-javaというライブラリを利用してJavaでお手軽に絵文字を使用できるライブラリの紹介です。

emoji-javaにより、Slackを利用している方には馴染みのある記法をJavaアプリケーションでも使えるようになります。

emoji-java

ダウンロード

READMEにも書いてありますが、MavenやGradleでお手軽にダウンロードできます。

  • Maven
<dependency>
  <groupId>com.vdurmont</groupId>
  <artifactId>emoji-java</artifactId>
  <version>4.0.0</version>
</dependency>
  • Gradle
compile 'com.vdurmont:emoji-java:4.0.0'

使ってみる

単一の絵文字は、 EmojiManager クラスで取得できます。
Emoji クラスはPOJOでaliasやunicode、HTML表現などの情報を持っています。

EmojiManager.getForAlias("name_badge");
    // => Emoji{description='name badge', supportsFitzpatrick=false, aliases=[name_badge], tags=[], unicode='📛', htmlDec='&#128219;', htmlHex='&#x1f4db;'}

unicodeのみ欲しい場合は、Emoji.getUnicode() で取得できます。

System.out.println(EmojiManager.getForAlias("name_badge").getUnicode());
    // => 📛

EmojiPareser.parseToUnicode() で文字列中に含まれるエイリアスを絵文字に変換することもできます。

String str = "明日の朝までによろしくお願いします:pray:\n"
                + "定時後にゴメンネ:bow: @ほげほげ\n";
String parsed = EmojiParser.parseToUnicode(str);
System.out.println(parsed);
    // => 明日までによろしくお願いします🙏
    //    定時後にゴメンネ🙇 @ほげほげ

EmojiParser のメソッドで、絵文字の表現形式を変換できます。
例としては、以下のような変換が可能です

Method from to
parseToUnicode alias unicode
parseToHtmlHexadecimal unicode html hexadecimal
parseToAliases unicode aliases

他にも、絵文字のみ削除したり、抽出したりすることもできます。

まとめ

emoji-javaを使ってJavaで絵文字をお手軽に扱う方法を紹介しました。
基本的には EmojiParser クラスを利用して文章中の絵文字形式を変換できると良さそうかな、という気がします。

Java Advent Calendar 2017、15日目の明日は@cero_tさんです。
よろしくお願いします。

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?