1.8k Stars, Java 敏感词工具sensitive-word

534 阅读2分钟

简介

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'));
    }
}

资料

Github: houbb/sensitive-word: 👮‍♂️The sensitive word tool for java.(敏感词/违禁词/违法词/脏词。基于 DFA 算法实现的高性能 java 敏感词过滤工具框架。请勿发布涉及政治、广告、营销、翻墙、违反国家法律法规等内容。高性能敏感词检测过滤组件,附带繁体简体互换,支持全角半角互换,汉字转拼音,模糊搜索等功能。) (github.com)