android怎样过滤字符串中的emoji表情
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android怎样过滤字符串中的emoji表情相关的知识,希望对你有一定的参考价值。
对于字符串处理,首选就是正则表达式去处理,而在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表情了 参考技术A 解决方案
对于字符串处理,首选就是正则表达式去处理,而在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表情了本回答被提问者采纳
python3 清除过滤emoji表情
https://www.cnblogs.com/lizm166/p/9662995.html
def filter_emoji(desstr,restr=‘‘): #过滤表情 try: co = re.compile(u‘[U00010000-U0010ffff]‘) except re.error: co = re.compile(u‘[uD800-uDBFF][uDC00-uDFFF]‘) return co.sub(restr, desstr)
以上是关于android怎样过滤字符串中的emoji表情的主要内容,如果未能解决你的问题,请参考以下文章
求php过滤ios的Emoji表情的方法,如果字符串中包含Emoji表情就删除。