当前位置:首页 » 净水方式 » 正则表达式过滤表情

正则表达式过滤表情

发布时间: 2021-01-30 00:51:10

Ⅰ android怎样过滤字符串中的emoji表情

对于字符串处理,首选就是正则表达式去处理,而在系统中可以自定义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表情了

Ⅱ 求一个正则表达式过滤特殊字符但是不过滤@下划线之类的

这个的话也可以通过正则限定允许输入的字符来实现
比如说:字母开头6-15位字符就可以写成如下方式
/^[a-zA-Z][a-zA-Z0-9]{5,15}$/
这样也可以达到过滤特殊字符的效果

Ⅲ 正则表达式过滤特殊字符

正则表达式里面你带了逗号,应该这样写
[。~!@#$%\^\+\*&\\\/\?\|:\.<>{}()';="]
有些符号只有少数几个符号需要转义,而且不用打逗号,打了逗号就相当于把逗号也过滤掉了

Ⅳ java正则表达式过滤特殊字符

Stringregexp="[^'"%]*";
Stringstring="abc%";
System.out.println(string.matches(regexp));

Ⅳ 如何用正则表达式 过滤 特定内容

正则表达式:^\d+(\.\d+)?$
你可以用这个正则表达式匹配输入的字符,如果不匹配说明是非法的字母和字符.

Ⅵ php的preg_replace过滤emoji字符,要怎么做

PHP的preg_replace函数是 执行一个正则表达式的搜索和替换其具体用法如下

语法:

preg_replace (正则表达式, 替换成回, 字符串, 最大答替换次数【默认-1,无数次】, 替换次数)

实例:

<?php//把heigth高度属性删除,并添加width="100%"
$str='<div><p>12312321</p><imgsrc="xx.jpg"height="213"/><span>111</span><imgsrc="xz.jpg"/></div>';
$str=preg_replace("/height="[0-9]+?"/","",$str);
$str1=preg_replace("/src="(.+?)"/","src="$1"width="100%"",$str);
print_r($str1);
?>

Ⅶ android中怎么过滤掉系统表情

解决方案

对于字符串处理,首选就是正则表达式去处理,而在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表情了

Ⅷ 正则表达式怎么过滤掉符号

问题解决了,是先替换掉了符号,在正则查找的

Ⅸ 小妹请问过滤特殊符号的正则表达式


把所有的特殊符号罗列出来即可。

//javascript版本
str=str.replace(/[·~!@#$%^&*()-_=+{}[]\|:;'",.<>/?]+/g,'')

Ⅹ 求教高手,想过滤一下内容里面的图片,求一个正则表达式

你可以在这个网站上试试你的表达式是否生效http://tool.oschina.net/regex# ,我用你的这个\<img[^\>]+\> 试了下没问题回,所以你看看是不是代答码上你写的有问题

热点内容
丁度巴拉斯情人电影推荐 发布:2024-08-19 09:13:07 浏览:886
类似深水的露点电影 发布:2024-08-19 09:10:12 浏览:80
《消失的眼角膜》2电影 发布:2024-08-19 08:34:43 浏览:878
私人影院什么电影好看 发布:2024-08-19 08:33:32 浏览:593
干 B 发布:2024-08-19 08:30:21 浏览:910
夜晚看片网站 发布:2024-08-19 08:20:59 浏览:440
台湾男同电影《越界》 发布:2024-08-19 08:04:35 浏览:290
看电影选座位追女孩 发布:2024-08-19 07:54:42 浏览:975
日本a级爱情 发布:2024-08-19 07:30:38 浏览:832
生活中的玛丽类似电影 发布:2024-08-19 07:26:46 浏览:239