2017-07-21 24 views
0

ユーザーがEditTextに入力した絵文字の数を確認したいと思います。ユーザーがemojisを入力して3以下しか使用しない場合は、その文字列をアプリ内に大きなフォントで表示できるようにしたいと考えています。文字列で絵文字を取得する

今はemojisが文字列に含まれているかどうかを検出するのに役立つこの記事に出くわしましたが、emojisの数を数える方法を見つけ出すことができませんでした。

Detecting if a character in a String is an emoticon (using Android)

誰も私がStringから絵文字の数を得ることができる方法を知っていますか?

答えて

2
int emojiCount = 0; 

    for (int i = 0; i < yourString.length(); i++) { 
    int type = Character.getType(yourString.charAt(i)); 
     if (type == Character.SURROGATE || type == Character.OTHER_SYMBOL) { 
     emojiCount++; 
     } 
    } 

return emojiCount/2; 
+0

他の奇妙なUnicode文字は絵文字としてカウントされますか? – johnchen902

+0

はい。厳密には、使用する絵文字について : IF(== Character.UnicodeBlock.of(CHAR)Character.UnicodeBlock.EMOTICONS) {//絵文字が を入力は} API> = 19が必要 –

関連する問題