How to print Emoji in java 👮👯👹💁💃😀😈😎💦💭☺👍💆💂🍑🍇🌷🍲🐧🐮🐫🐵- Go to this index and find emoji to use. E.g. "Grinning Face" has UTF-16 code U+1F600 .
- Go U+1F600 .
- Click on the returned result and find the row "C/C++/Java source code"; which should show "\uD83D\uDE00" .
- Put System.
- Go to this index and find emoji to use. E.g. "Grinning Face" has UTF-16 code U+1F600 .
- Go U+1F600 .
- Click on the returned result and find the row "C/C++/Java source code"; which should show "\uD83D\uDE00" .
- Put System.
How to use it?
EmojiManager
The EmojiManager
provides several static methods to search through the emojis database:
getForTag
returns all the emojis for a given taggetForAlias
returns the emoji for an aliasgetAll
returns all the emojisisEmoji
checks if a string is an emoji
You can also query the metadata:
getAllTags
returns the available tags
Or get everything:
getAll
returns all the emojis
Emoji model
An Emoji
is a POJO (plain old java object), which provides the following methods:
getUnicode
returns the unicode representation of the emojigetUnicode(Fitzpatrick)
returns the unicode representation of the emoji with the provided Fitzpatrick modifier. If the emoji doesn't support the Fitzpatrick modifiers, this method will throw anUnsupportedOperationException
. If the provided Fitzpatrick is null, this method will return the unicode of the emoji.getDescription
returns the (optional) description of the emojigetAliases
returns a list of aliases for this emojigetTags
returns a list of tags for this emojigetHtmlDecimal
returns an html decimal representation of the emojigetHtmlHexadecimal
returns an html decimal representation of the emojisupportsFitzpatrick
returns true if the emoji supports the Fitzpatrick modifiers, else false
Fitzpatrick modifiers
Some emojis now support the use of Fitzpatrick modifiers that gives the choice between 5 shades of skin tones:
Modifier | Type |
---|---|
🏻 | type_1_2 |
🏼 | type_3 |
🏽 | type_4 |
🏾 | type_5 |
🏿 | type_6 |
We defined the format of the aliases including a Fitzpatrick modifier as:
:ALIAS|TYPE:
A few examples:
:boy|type_1_2:
:swimmer|type_4:
:santa|type_6:
EmojiParser
To unicode
To replace all the aliases and the html representations found in a string by their unicode, use EmojiParser#parseToUnicode(String)
.
For example:
String str = "An :grinning:awesome :smiley:string 😄with a few :wink:emojis!";
String result = EmojiParser.parseToUnicode(str);
System.out.println(result);
// Prints:
// "An 😀awesome 😃string 😄with a few 😉emojis!"
To aliases
To replace all the emoji's unicodes found in a string by their aliases, use EmojiParser#parseToAliases(String)
.
For example:
String str = "An 😀awesome 😃string with a few 😉emojis!";
String result = EmojiParser.parseToAliases(str);
System.out.println(result);
// Prints:
// "An :grinning:awesome :smiley:string with a few :wink:emojis!"
By default, the aliases will parse and include any Fitzpatrick
modifier that would be provided. If you want to remove or ignore the
Fitzpatrick modifiers, use EmojiParser#parseToAliases(String, FitzpatrickAction)
. Examples:
String str = "Here is a boy: \uD83D\uDC66\uD83C\uDFFF!";
System.out.println(EmojiParser.parseToAliases(str));
System.out.println(EmojiParser.parseToAliases(str, FitzpatrickAction.PARSE));
// Prints twice: "Here is a boy: :boy|type_6:!"
System.out.println(EmojiParser.parseToAliases(str, FitzpatrickAction.REMOVE));
// Prints: "Here is a boy: :boy:!"
System.out.println(EmojiParser.parseToAliases(str, FitzpatrickAction.IGNORE));
// Prints: "Here is a boy: :boy:🏿!"
To html
To replace all the emoji's unicodes found in a string by their html representation, use EmojiParser#parseToHtmlDecimal(String)
or EmojiParser#parseToHtmlHexadecimal(String)
.
For example:
String str = "An 😀awesome 😃string with a few 😉emojis!";
String resultDecimal = EmojiParser.parseToHtmlDecimal(str);
System.out.println(resultDecimal);
// Prints:
// "An 😀awesome 😃string with a few 😉emojis!"
String resultHexadecimal = EmojiParser.parseToHtmlHexadecimal(str);
System.out.println(resultHexadecimal);
// Prints:
// "An 😀awesome 😃string with a few 😉emojis!"
By default, any Fitzpatrick modifier will be removed. If you want to ignore the Fitzpatrick modifiers, use EmojiParser#parseToAliases(String, FitzpatrickAction)
. Examples:
String str = "Here is a boy: \uD83D\uDC66\uD83C\uDFFF!";
System.out.println(EmojiParser.parseToHtmlDecimal(str));
System.out.println(EmojiParser.parseToHtmlDecimal(str, FitzpatrickAction.PARSE));
System.out.println(EmojiParser.parseToHtmlDecimal(str, FitzpatrickAction.REMOVE));
// Print 3 times: "Here is a boy: 👦!"
System.out.println(EmojiParser.parseToHtmlDecimal(str, FitzpatrickAction.IGNORE));
// Prints: "Here is a boy: 👦🏿!"
The same applies for the methods EmojiParser#parseToHtmlHexadecimal(String)
and EmojiParser#parseToHtmlHexadecimal(String, FitzpatrickAction)
.
Remove emojis
You can easily remove emojis from a string using one of the following methods:
EmojiParser#removeAllEmojis(String)
: removes all the emojis from the StringEmojiParser#removeAllEmojisExcept(String, Collection<Emoji>)
: removes all the emojis from the String, except the ones in the CollectionEmojiParser#removeEmojis(String, Collection<Emoji>)
: removes the emojis in the Collection from the String
For example:
String str = "An 😀awesome 😃string with a few 😉emojis!";
Collection<Emoji> collection = new ArrayList<Emoji>();
collection.add(EmojiManager.getForAlias("wink")); // This is 😉
System.out.println(EmojiParser.removeAllEmojis(str));
System.out.println(EmojiParser.removeAllEmojisExcept(str, collection));
System.out.println(EmojiParser.removeEmojis(str, collection));
// Prints:
// "An awesome string with a few emojis!"
// "An awesome string with a few 😉emojis!"
// "An 😀awesome 😃string with a few emojis!"
Extract Emojis from a string
You can search a string of mixed emoji/non-emoji characters and have all of the emoji characters returned as a Collection.
EmojiParser#extractEmojis(String)
: returns all emojis as a Collection. This will include duplicates if emojis are present more than once.