この記事は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='📛', htmlHex='📛'}
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さんです。
よろしくお願いします。