android 过滤emoji表情符号,android怎样过滤字符串中的emoji表情
滿意答案
jdubysct
2016.03.15
采納率:43%????等級:8
已幫助:863人
解決方案
對于字符串處理,首選就是正則表達式去處理,而在android系統中可以自定義InputFilter去過濾需要處理掉的字符串,代碼如下
InputFilter emojiFilter = new InputFilter ( ) {
@Override
public CharSequence filter ( CharSequence source , int start , int end , Spanned dest , int dstart ,
int dend ) {
}
} ;
隨后我查閱了 emoji 的wikipedia與 Github ,從中提取出表情的一個大概unicode范圍,由于Java可以直接對unicode進行匹配,這樣我們可以很省事直接寫出Pattern即可,代碼如下
InputFilter emojiFilter = new InputFilter ( ) {
Pattern emoji = Pattern . compile (
"[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]" ,
Pattern . UNICODE_CASE | Pattern . CASE_INSENSITIVE ) ;
@Override
public CharSequence filter ( CharSequence source , int start , int end , Spanned dest , int dstart ,
int dend ) {
Matcher emojiMatcher = emoji . matcher ( source ) ;
if ( emojiMatcher . find ( ) ) {
return "" ;
}
return null ;
}
} ;
基本上這樣就能過濾掉emoji表情了
00分享舉報
總結
以上是生活随笔為你收集整理的android 过滤emoji表情符号,android怎样过滤字符串中的emoji表情的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 行布局选择器,『自定义V
- 下一篇: vue 图片拖动加载 类似于地图_前端性