简介
sensitive-word 基于 DFA 算法实现的高性能敏感词工具。
安装
<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>sensitive-word</artifactId>
<version>0.13.0</version>
</dependency>
核心方法
SensitiveWordHelper 作为敏感词的工具类,核心方法如下:
| 方法 | 参数 | 返回值 | 说明 |
|---|---|---|---|
| contains(String) | 待验证的字符串 | 布尔值 | 验证字符串是否包含敏感词 |
| replace(String, ISensitiveWordReplace) | 使用指定的替换策略替换敏感词 | 字符串 | 返回脱敏后的字符串 |
| replace(String, char) | 使用指定的 char 替换敏感词 | 字符串 | 返回脱敏后的字符串 |
| replace(String) | 使用 * 替换敏感词 | 字符串 | 返回脱敏后的字符串 |
| findAll(String) | 待验证的字符串 | 字符串列表 | 返回字符串中所有敏感词 |
| findFirst(String) | 待验证的字符串 | 字符串 | 返回字符串中第一个敏感词 |
| findAll(String, IWordResultHandler) | IWordResultHandler 结果处理类 | 字符串列表 | 返回字符串中所有敏感词 |
| findFirst(String, IWordResultHandler) | IWordResultHandler 结果处理类 | 字符串 | 返回字符串中第一个敏感词 |
| tags(String) | 获取敏感词的标签 | 敏感词字符串 | 返回敏感词的标签列表 |
例子
public class Main {
public static void main(String[] args) {
final String text = "五星红旗迎风飘扬,毛主席的画像屹立在天安门前。";
// 判断是否包含敏感词
System.out.println(SensitiveWordHelper.contains(text)); // true
// 返回第一个敏感词
System.out.println(SensitiveWordHelper.findFirst(text));
// 返回所有敏感词
System.out.println(SensitiveWordHelper.findAll(text));
// 默认的替换策略
System.out.println(SensitiveWordHelper.replace(text));
// 指定替换的内容
System.out.println(SensitiveWordHelper.replace(text, '0'));
}
}