相关疑难解决方法(0)

如何计算Java中的字素簇或“感知”表情符号字符

我正在计算提供的Java字符串中可感知的表情符号字符的数量。我目前正在使用emoji4j库,但不适用于像这样的字素簇:???

调用EmojiUtil.getLength("???")return 4代替1,类似地调用EmojiUtil.getLength("???")return 5代替2

StringJava中是否有任何API或方法可以简化字素簇的计数?

我一直在寻找,但可以理解的是codePoints(),a上的方法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;
}
Run Code Online (Sandbox Code Playgroud)

但是它的行为似乎与codePoints()方法相同,返回8类似的东西"???"

java character emoji grapheme

6
推荐指数
2
解决办法
1192
查看次数

标签 统计

character ×1

emoji ×1

grapheme ×1

java ×1