hutool.dfa.sensitive

敏感词过滤工具,基于DFA(确定性有限自动机)算法

Module Contents

Classes

SensitiveUtil

敏感词过滤工具,基于DFA(确定性有限自动机)算法

API

class hutool.dfa.sensitive.SensitiveUtil

敏感词过滤工具,基于DFA(确定性有限自动机)算法

_root: dict = None
_initialized: bool = False
_char_filter: Callable[[str], str] | None = None
classmethod init(words: List[str]) None

初始化敏感词库

参数:

words – 敏感词列表

classmethod contains(text: str) bool

是否包含敏感词

参数:

text – 待检测文本

返回:

是否包含敏感词

classmethod find_first(text: str) str

查找第一个敏感词

参数:

text – 待检测文本

返回:

第一个匹配的敏感词,未找到返回空字符串

classmethod find_all(text: str) List[str]

查找所有敏感词

参数:

text – 待检测文本

返回:

所有匹配的敏感词列表

classmethod replace(text: str, replace_char: str = '*') str

替换敏感词

参数:
  • text – 待处理文本

  • replace_char – 替换字符,默认为 ‘*’

返回:

替换后的文本

classmethod is_inited() bool

是否已初始化敏感词库

返回:

是否已初始化

classmethod set_char_filter(func: Callable[[str], str]) None

设置字符过滤器(在匹配前预处理文本)

参数:

func – 过滤函数,接收str返回str

classmethod contains_sensitive(obj: Any) bool

检查对象中是否包含敏感词(支持str/list/dict)

参数:

obj – 待检查对象

返回:

是否包含敏感词

classmethod get_found_first_sensitive(text: str) dict

获取第一个敏感词及其位置

参数:

text – 待检测文本

返回:

包含word, start, end的字典,未找到返回空字典

classmethod get_found_all_sensitive(text: str) list

获取所有敏感词及其位置

参数:

text – 待检测文本

返回:

列表,每个元素包含word, start, end的字典

classmethod init_from_delimited(text: str, delimiter: str = ',') None

从分隔符字符串初始化敏感词库

参数:
  • text – 敏感词文本

  • delimiter – 分隔符