hutool.dfa.sensitive¶
敏感词过滤工具,基于DFA(确定性有限自动机)算法
Module Contents¶
Classes¶
敏感词过滤工具,基于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 – 分隔符