java实现关键字屏蔽,JAVA 关键字、敏感字 屏蔽过滤功能实现

demo目录结构:

35d4c583c89e4523e0fca74710d2343e.png

文档内容格式:

0c036876a1472938182640ac8d62afa1.png

直接上代码(检索敏感词算法是从网上搜集参考的,有想法的可以搜索DFA算法研究下):

SensitiveFilterService.java

package com.example.sensitivedemo.test;

/**

* @Author : JCccc

* @CreateTime : 2019/7/30

* @Description :

**/

import java.util.HashSet;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

//敏感词过滤器:利用DFA算法  进行敏感词过滤

@SuppressWarnings("rawtypes")

public class SensitiveFilterService {

private Map sensitiveWordMap = null;

// 最小匹配规则

public static int minMatchTYpe = 1;

// 最大匹配规则

public static int maxMatchType = 2;

// 单例

private static SensitiveFilterService instance = null;

// 构造函数,初始化敏感词库

private SensitiveFilterService() {

sensitiveWordMap = new SensitiveWordInit().initKeyWord();

}

// 获取单例

public static SensitiveFilterService getInstance() {

if (null == instance) {

instance = new SensitiveFilterService();

}

return instance;

}

// 获取文字中的敏感词

public SetgetSensitiveWord(String txt, int matchType) {

SetsensitiveWordList = new HashSet();

for (int i = 0; i < txt.length(); i++) {

// 判断是否包含敏感字符

int length = CheckSensitiveWord(txt, i, matchType);

// 存在,加入list中

if (length > 0) {

sensitiveWordList.add(txt.substring(i, i + length));

// 减1的原

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值