资源简介
敏感词库(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实验报告
相关资源
- echart-java.zip
- 152G的java全套资源.zip
- java彩票模拟投注系统.zip
- java项目,前后端分离视频教程源码
- 疯狂Android讲义第三版Androidstudio所有源
- Java固定资产管理系统课程设计源码整
- javaSpringcloudB2B2Co2o电子商务.zip
- MainActivity.java
- java_random_util_list.zip
- 魔乐李兴华零基础学Java系列视频教程
- 第一行代码JavaPDF.txt
- 《Java编程规范第三版》PDF.txt
- javaweb网上商城视频加源码.txt
- Java秒杀系统方案全套视频.zip
- JAVA例题.rar
- alex-word-filter-2.0.jar
- 张人杰双向词汇Java敏感词过滤3.0.ra
- Java设计模式-32讲地址.zip
- Java架构师.txt
- java.txt
- 郭java.txt
- 传智播客Javaweb视频课堂笔记源码全部
- LoadBox.java
- it十八掌大数据4个月全套课程永久有
- 李兴华全新JSP教程项目实战.txt
- ApacheJMeter_http.jar60720
-
javaxm
ltoHTML.zip - 基于Android的天气预报app的设计与实现
- Java深入微服务原理改造房产销售平台
- 144达内1805java培优班课程.txt
评论
共有 条评论