敏感词|屏蔽字过滤器 DFA算法 升级版增加严格模式强力去除敏感词
该算法经测试在 13993 个敏感词中过滤 26 个字符的文字耗时为:0 ms
package test1;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 敏感字节点
*/
class WordNode {
/*是否敏感词尾*/
public boolean isEnd;
/*父节点*/
public WordNode parentNode;
/*子节点*/
public Map<String, WordNode> children = new HashMap<String, WordNode>();
/*当前词符*/
public String value = "";
public WordNode getChild(String name){
return this.children.get(name);
}
public WordNode addChild(String name) {
WordNode node = new WordNode();
node.