资源简介
敏感词库(27000条)代码实现敏感词过滤(java).zip

代码片段和文件信息
package com.linkipr.framework.sensitive;
import org.apache.commons.lang3.StringUtils;
import java.io.*;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/**
* @Description: 敏感词过滤
* @Project:test
* @Author : 张巍
*/
public class SensitivewordFilter {
@SuppressWarnings(“rawtypes“)
private Map sensitiveWordMap = null;
public static int minMatchTYpe = 1; //最小匹配规则
public static int maxMatchType = 2; //最大匹配规则
/**
* 构造函数,初始化敏感词库
*/
public SensitivewordFilter() {
sensitiveWordMap = new SensitiveWordInit().initKeyWord();
}
/**
* 判断文字是否包含敏感字符
*
* @param txt 文字
* @param matchType 匹配规则 1:最小匹配规则,2:最大匹配规则
* @return 若包含返回true,否则返回false
* @author 张巍
*/
public boolean isContaintSensitiveWord(String txt int matchType) {
boolean flag = false;
for (int i = 0; i < txt.length(); i++) {
int matchFlag = this.CheckSensitiveWord(txt i matchType); //判断是否包含敏感字符
if (matchFlag > 0) { //大于0存在,返回true
flag = true;
}
}
return flag;
}
/**
* 获取文字中的敏感词
*
* @param txt 文字
* @param matchType 匹配规则 1:最小匹配规则,2:最大匹配规则
* @return
* @author 张巍
*/
public Set getSensitiveWord(String txt int matchType) {
Set sensitiveWordList = new HashSet<>();
for (int i = 0; i < txt.length(); i++) {
int length = CheckSensitiveWord(txt i matchType); //判断是否包含敏感字符
if (length > 0) { //存在加入list中
sensitiveWordList.add(txt.substring(i i + length));
i = i + length - 1; //减1的原因,是因为for会自增
}
}
return sensitiveWordList;
}
/**
* 替换敏感字字符
*
* @param txt
* @param matchType
* @param replaceChar 替换字符,默认*
* @author 张巍
*/
public String replaceSensitiveWord(String txt int matchType String replaceChar) {
String resultTxt = txt;
Set set = getSensitiveWord(txt matchType); //获取所有的敏感词
Iterator iterator = set.iterator();
String word = null;
String replaceString = null;
while (iterator.hasNext()) {
word = iterator.next();
replaceString = getReplaceChars(replaceChar word.length());
resultTxt = resultTxt.replaceAll(word replaceString);
}
return resultTxt;
}
/**
* 获取替换字符串
*
* @param replaceChar
* @param length
* @return
* @author 张巍
*/
private String getReplaceChars(String replaceChar int length) {
String resultReplace = replaceChar;
for (int i = 1; i < length; i++) {
resultReplace += replaceChar;
}
return resultReplace;
}
/
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-03-03 16:49 敏感词库(27000条)+代码实现敏感词过滤(java)\
目录 0 2017-03-03 16:49 敏感词库(27000条)+代码实现敏感词过滤(java)\java实现\
文件 8000 2017-02-28 15:38 敏感词库(27000条)+代码实现敏感词过滤(java)\java实现\SensitivewordFilter.java
文件 3954 2017-02-28 16:55 敏感词库(27000条)+代码实现敏感词过滤(java)\java实现\SensitiveWordInit.java
文件 465590 2017-02-28 18:40 敏感词库(27000条)+代码实现敏感词过滤(java)\key.txt
- 上一篇:Java DeCompile最新版
- 下一篇:简易网上书店-JavaEE实验报告
相关资源
- Android分区工具包
- 药品进销存管理系统(论文范文_JSP
- Java写的一个简单的字体更改程序
- 尚硅谷Java视频Java8新特性视频教程
- 关于CommVault统一数据管理方案
- 基于CenGRP3.0 烟草行业企业整合解决方
- java并发编程实战高清版pdf
- java并发编程实战pdf
- 实现jsp页面二级下拉框联动,实时读
- 北师大学珠海校区实施SunONE数字校园
- Java-核心技术-36-讲李运华完.pdf
- 小工具,解决oschina码云svn文件夹不能
- Sun公司为中国客户提供Java架构咨询与
- 美国Holy Cross 医院使用Sun 解决方案对
- 立邦漆公司向Sun架构的移植预期使总
- 通用电气公司基于Sun 平台部署其全球
- jbpm(juel-api.jar)
- jstl 和 standard jar 包
- 验证全志R18的LCD+HDMI双屏异显
- jsp网站模板
- 《21天学通SQL Server》源码
- JSP多文件上传同时上传
- J2EE服务支持平台下融通供应商服务系
- Data Structures and Algorithm Analysis in Java
- Thinking In Java第五版
- think in java中文第五版
- JAVA JDK百度网盘地址
- jdk1.9安装包
- NCC-OpenAPI文档.zip
- JAVA并发编程实战.pdf
评论
共有 条评论