一下实现对敏感词,禁忌词的过滤.

两个个文件words.properties和KeyWordFilter.java;

1、words.properties文件是个文本文件;内容如下:

敏感词一

敏感词二

敏感词三

2、KeyWordFilter.java是个java文件内容如下:

import java.io.IOException;

import java.io.InputStream;

import java.text.SimpleDateFormat;

import java.util.Date;

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;

// 从words.properties初始化正则表达式字符串

private static void initPattern()

{

StringBuffer patternBuf = new StringBuffer("");

try

{

InputStream in = KeyWordFilter.class.getClassLoader().getResourceAsStream("words.properties");

Properties pro = new Properties();

pro.load(in);

Enumeration enu = pro.propertyNames();

patternBuf.append("(");

while(enu.hasMoreElements())

{

patternBuf.append((String)enu.nextElement()+"|");

}

patternBuf.deleteCharAt(patternBuf.length()-1);

patternBuf.append(")");

//unix换成UTF-8

//pattern = Pattern.compile(new String(patternBuf.toString().getBytes("ISO-8859-1"), "UTF-8"));

//win下换成gb2312

pattern = Pattern.compile(new String(patternBuf.toString().getBytes("ISO-8859-1"), "gb2312"));

}

catch(IOException ioEx)

{

ioEx.printStackTrace();

}

}

private static String doFilter(String str)

{

Matcher m = pattern.matcher(str);

str = m.replaceAll("");

return str;

}

public static void main(String[] args)

{

String str = "国敏感词一院学位办就敏感词三的报道表示敏感词二";

System.out.println("str:"+str);

initPattern();

Date d1 = new Date();

SimpleDateFormat formatter = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss:SSS Z");

System.out.println("start:"+formatter.format(d1));

System.out.println("共"+str.length()+"个字符,查到" + KeyWordFilter.doFilter(str));

Date d2 = new Date();

System.out.println("end:"+formatter.format(d2));

}

}

输出为:

__________________________________

str:国敏感词一院学位办就敏感词三的报道表示敏感词二

start:星期二, 24 三月 2009 14:50:17:171 +0800

共23个字符,查到国院学位办就的报道表示

end:星期二, 24 三月 2009 14:50:17:531 +0800

java中编写敏感词过滤程序_Java敏感词过滤相关推荐

  1. 如何使用Spring和Velocity在Java中编写HTML电子邮件

    在这篇文章中,我将介绍如何使用Spring和Velocity格式化和发送自动电子邮件. Spring仅提供创建简单文本电子邮件的功能,这对于简单的情况很好,但是在典型的企业应用程序中,由于多种原因,您 ...

  2. java mysql 占位符_在Java中编写带占位符的SQL语句

    C#中SQL中带占位符的语句 假设有一张学员信息表Student,通过表中的ID来找学员,查询的SQL语句如下 string sql = string.Format("select * fr ...

  3. nodejs命令行执行程序_在NodeJS中编写命令行应用程序

    nodejs命令行执行程序 by Peter Benjamin 彼得·本杰明(Peter Benjamin) 在NodeJS中编写命令行应用程序 (Writing Command-Line Appli ...

  4. java中怎么让一个数倒转_java 输入一个数字,反转输出这个数字的值(实现方法)

    java 输入一个数字,反转输出这个数字的值(实现方法) 如下所示: package 第四天; import java.util.Scanner; public class 数字反转 { public ...

  5. 启动Spark Shell,在Spark Shell中编写WordCount程序,在IDEA中编写WordCount的Maven程序,spark-submit使用spark的jar来做单词统计

    1.启动Spark Shell spark-shell是Spark自带的交互式Shell程序,方便用户进行交互式编程,用户可以在该命令行下用scala编写spark程序.要注意的是要启动Spark-S ...

  6. java中的jre里面有什么_Java中JRE介绍,JRE是什么

    首页 > 基础教程 > 基础知识 > JDK&JRE&JVM Java中JRE介绍,JRE是什么 JRE简介 JRE(Java Runtime Environment ...

  7. java中输出值保留四位小数_Java工程师(3).变量和数据类型

    变量 什么是变量 变量是内存中的一块存储空间,用于保存Java程序准备使用的数据. 可以为变量赋予一个简短并易于记忆的名字方便我们使用变量的值. int 变量的声明 因为经常要保存一些数据,所以变量是 ...

  8. java中字母用什么单词赋值_Java初学

    Java-SUN 语言平台J2SE(桌面) ,J2ME(移动被安卓所取代),J2EE(企业主要用于web) 1.跨平台(操作系统)原理: 在任意操作系统上运行,一次编写到处运行. 依赖JVM(Java ...

  9. java中random方法取值范围_java中最值的求法,你可能忽略了这种方法了!

    对一批数据进行排序,然后找出其中的最大值或最小值,这是基本的数据结构知识.在Java中我们可以通过编写算法的方式,也可以通过数组先排序再取值的方式来实现.下面以求最大值为例,解释一下多种算法. 自行实 ...

最新文章

  1. Centos7设置网络
  2. Ubuntu修改root密码以及允许证书和密码登陆
  3. 【Linux】一步一步学Linux——iptables-restore命令(188)
  4. 多个 本地仓库_【运维工具】搭建npm私有镜像仓库,天下苦于npm build久矣
  5. 将有格式的int解析成float
  6. python 读入图像文件和输出图像文件
  7. poj 1324 Holedox Moving
  8. XML与Java 解析方式
  9. 【任务分配】基于matlab蚁群算法无人机任务分配【含Matlab源码 1265期】
  10. 删除Visual Studio最近的项目(收藏)
  11. kuangbin 莫队专题
  12. Linux的Vi命令详解
  13. Still,yet和already的用法
  14. 模糊图片(动漫)转高清 (aardio GUI),优质图片处理软件
  15. 测试开发3年,我决定去读个名校硕士
  16. 为什么采用实时操作系统?
  17. 飞思卡尔智能车总结 之中断的处理方法
  18. 名悦集团汽车小知识:汽车备胎的使用和保养注意事项
  19. 关于MPEG-4的Comment读取
  20. 中国工业液压油市场市场发展现状研究与投资趋势分析报告2022-2028年

热门文章

  1. 基于主从博弈的综合能源服务商动态定价策略研究(Matlab代码实现)
  2. 如何利用python在网上接单赚钱,兼职也能月入过万
  3. 微信小程序如何本地测试太阳码(二维码)分享功能(参数接收调试)
  4. w7系统计算机性能,Win7系统能够自行限制电脑性能吗?应该怎么设置?
  5. 一生所爱电影《大话西游》片尾曲铃声 一生所爱电影《大话西游...
  6. 爬虫入门:利用爬虫爬取有效数据后录入数据库(一)
  7. ThingsBoard教程(三四):筛选规则节点 根据资产,设备,筛选,asset profile switch,device profile switch
  8. 在IDEA中设置依赖调用公共模块代码
  9. 第一篇博客------自我介绍篇
  10. OpenProcess、GetExitCodeProcess、TerminateProcess