打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Java中过滤敏感词
在发表评论,文章时常常需要过滤一些敏感词...
把自己的拿出来晒晒
1.写个过滤的类:
Java代码 
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.Properties;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class KeyWordFilter {
private static Pattern pattern = null;
public static void initPattern(){
StringBuffer patternBuf = new StringBuffer("");
try{
InputStream in = KeyWordFilter.class.getClassLoader().getResourceAsStream("word.properties");
Properties pro = new Properties();
pro.load(in);
Enumeration enu = pro.propertyNames();
while(enu.hasMoreElements()){
patternBuf.append((String)enu.nextElement()+"|");
}
patternBuf.deleteCharAt(patternBuf.length()-1);
pattern = Pattern.compile(new String(patternBuf.toString().getBytes("ISO-8859-1"), "UTF-8"),Pattern.CASE_INSENSITIVE); //编译一个正则表达式,同时生成Pattern
}catch(IOException ioEx){
ioEx.printStackTrace();
}
}
public static String doFilter(String str){
try {
Matcher m = pattern.matcher(str); //匹配到得用去掉
str = m.replaceAll("*");
}catch (Exception e){
e.printStackTrace();
}
return str;
}
}
2.在控制层进行操作,即action类中,在需要的方法中进行调用
Java代码 
KeyWordFilter.initPattern();
String newContent=KeyWordFilter.doFilter(content);
其中content就是显示层传递的参数(需要过滤的)
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
java去除字符串中的空格、回车、换行符、制表符
java判断string字符串中是否存在汉字
JAVA与正则表达式
java TXT工具之去掉空格
十六进制Unicode编码字符串与中文字符串互转
Ubb转Html的java版函数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服