提供されたJava文字列で認識された絵文字の数を数えたいと思っています。現在emoji4jライブラリを使用していますが、次のような書記素クラスタでは機能しません: </p>
の代わりにreturn を呼び出し、同様にの代わりにreturnを呼び出しEmojiUtil.getLength("")
ます。4
1
EmojiUtil.getLength("")
5
2
String
書記素クラスターを簡単にカウントできる Javaの API またはメソッドはありますか?
私は探し回ってきましたが、当然のことながら、上のcodePoints()
方法にはString
、目に見える絵文字だけでなく、ゼロ幅のジョイナーも含まれています。
私もこれを使用して試みましたBreakIterator
:
public static int getLength(String emoji) {
BreakIterator it = BreakIterator.getCharacterInstance();
it.setText(emoji);
int emojiCount = 0;
while (it.next() != BreakIterator.DONE) {
emojiCount++;
}
return emojiCount;
}
しかし、メソッドと同じように動作するようで、 のようなものをcodePoints()
返します。8
""