java中编写敏感词过滤程序_Java敏感词过滤
一下实现对敏感词,禁忌词的过滤.
两个个文件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敏感词过滤相关推荐
- 如何使用Spring和Velocity在Java中编写HTML电子邮件
在这篇文章中,我将介绍如何使用Spring和Velocity格式化和发送自动电子邮件. Spring仅提供创建简单文本电子邮件的功能,这对于简单的情况很好,但是在典型的企业应用程序中,由于多种原因,您 ...
- java mysql 占位符_在Java中编写带占位符的SQL语句
C#中SQL中带占位符的语句 假设有一张学员信息表Student,通过表中的ID来找学员,查询的SQL语句如下 string sql = string.Format("select * fr ...
- nodejs命令行执行程序_在NodeJS中编写命令行应用程序
nodejs命令行执行程序 by Peter Benjamin 彼得·本杰明(Peter Benjamin) 在NodeJS中编写命令行应用程序 (Writing Command-Line Appli ...
- java中怎么让一个数倒转_java 输入一个数字,反转输出这个数字的值(实现方法)
java 输入一个数字,反转输出这个数字的值(实现方法) 如下所示: package 第四天; import java.util.Scanner; public class 数字反转 { public ...
- 启动Spark Shell,在Spark Shell中编写WordCount程序,在IDEA中编写WordCount的Maven程序,spark-submit使用spark的jar来做单词统计
1.启动Spark Shell spark-shell是Spark自带的交互式Shell程序,方便用户进行交互式编程,用户可以在该命令行下用scala编写spark程序.要注意的是要启动Spark-S ...
- java中的jre里面有什么_Java中JRE介绍,JRE是什么
首页 > 基础教程 > 基础知识 > JDK&JRE&JVM Java中JRE介绍,JRE是什么 JRE简介 JRE(Java Runtime Environment ...
- java中输出值保留四位小数_Java工程师(3).变量和数据类型
变量 什么是变量 变量是内存中的一块存储空间,用于保存Java程序准备使用的数据. 可以为变量赋予一个简短并易于记忆的名字方便我们使用变量的值. int 变量的声明 因为经常要保存一些数据,所以变量是 ...
- java中字母用什么单词赋值_Java初学
Java-SUN 语言平台J2SE(桌面) ,J2ME(移动被安卓所取代),J2EE(企业主要用于web) 1.跨平台(操作系统)原理: 在任意操作系统上运行,一次编写到处运行. 依赖JVM(Java ...
- java中random方法取值范围_java中最值的求法,你可能忽略了这种方法了!
对一批数据进行排序,然后找出其中的最大值或最小值,这是基本的数据结构知识.在Java中我们可以通过编写算法的方式,也可以通过数组先排序再取值的方式来实现.下面以求最大值为例,解释一下多种算法. 自行实 ...
最新文章
- Centos7设置网络
- Ubuntu修改root密码以及允许证书和密码登陆
- 【Linux】一步一步学Linux——iptables-restore命令(188)
- 多个 本地仓库_【运维工具】搭建npm私有镜像仓库,天下苦于npm build久矣
- 将有格式的int解析成float
- python 读入图像文件和输出图像文件
- poj 1324 Holedox Moving
- XML与Java 解析方式
- 【任务分配】基于matlab蚁群算法无人机任务分配【含Matlab源码 1265期】
- 删除Visual Studio最近的项目(收藏)
- kuangbin 莫队专题
- Linux的Vi命令详解
- Still,yet和already的用法
- 模糊图片(动漫)转高清 (aardio GUI),优质图片处理软件
- 测试开发3年,我决定去读个名校硕士
- 为什么采用实时操作系统?
- 飞思卡尔智能车总结 之中断的处理方法
- 名悦集团汽车小知识:汽车备胎的使用和保养注意事项
- 关于MPEG-4的Comment读取
- 中国工业液压油市场市场发展现状研究与投资趋势分析报告2022-2028年
热门文章
- 基于主从博弈的综合能源服务商动态定价策略研究(Matlab代码实现)
- 如何利用python在网上接单赚钱,兼职也能月入过万
- 微信小程序如何本地测试太阳码(二维码)分享功能(参数接收调试)
- w7系统计算机性能,Win7系统能够自行限制电脑性能吗?应该怎么设置?
- 一生所爱电影《大话西游》片尾曲铃声 一生所爱电影《大话西游...
- 爬虫入门:利用爬虫爬取有效数据后录入数据库(一)
- ThingsBoard教程(三四):筛选规则节点 根据资产,设备,筛选,asset profile switch,device profile switch
- 在IDEA中设置依赖调用公共模块代码
- 第一篇博客------自我介绍篇
- OpenProcess、GetExitCodeProcess、TerminateProcess