其他
1.4K+ Stars!开源的高性能敏感词工具
每天给大家带来网站工具、开源社区项目、开源软件、安卓&IOS软件等黑科技!
小编不会主动加任何人好友,请认准【爱编程爱技术】公众号,谨防上当受骗,宝子要擦亮卡姿兰特大眼睛哦!
如果你们有什么好的建议,也可以在后台留言。
创作不易,希望大家给一点鼓励,把公众号设置为"星标",给文章点下"赞"和"在看",谢谢大家!每日持续更新,望宝子们多多支持~
🎨️ 最新版本的功能特性
6W+ 词库,且不断优化更新 基于 fluent-api 实现,使用优雅简洁 基于 DFA 算法,性能为 7W+ QPS,应用无感 支持敏感词的判断、返回、脱敏等常见操作 支持常见的格式转换 全角半角互换、英文大小写互换、数字常见形式的互换、中文繁简体互换、英文常见形式的互换、忽略重复词等 支持敏感词检测、邮箱检测、数字检测、网址检测等 支持自定义替换策略 支持用户自定义敏感词和白名单 支持数据的数据动态更新(用户自定义),实时生效 支持敏感词的标签接口 支持跳过一些特殊字符,让匹配更灵活
🌟 性能测试
1、测试环境为普通的笔记本
处理器 12th Gen Intel(R) Core(TM) i7-1260P 2.10 GHz
机带 RAM 16.0 GB (15.7 GB 可用)
系统类型 64 位操作系统, 基于 x64 的处理器
🧰 如何使用
JDK1.7+
Maven 3.x+
<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>sensitive-word</artifactId>
<version>[最新版本]</version>
</dependency>
3、判断是否包含敏感词
final String text = "五星红旗迎风飘扬,毛主席的画像屹立在天安门前。";
Assert.assertTrue(SensitiveWordHelper.contains(text));
🔥 其他用法
final String text = "五星红旗迎风飘扬,毛主席的画像屹立在天安门前。";
String word = SensitiveWordHelper.findFirst(text);
final String text = "五星红旗迎风飘扬,毛主席的画像屹立在天安门前。";
List<String> wordList = SensitiveWordHelper.findAll(text);
final String text = "五星红旗迎风飘扬,毛主席的画像屹立在天安门前。";
String result = SensitiveWordHelper.replace(text);
//输出:****迎风飘扬,***的画像屹立在***前。
final String text = "五星红旗迎风飘扬,毛主席的画像屹立在天安门前。";
String result = SensitiveWordHelper.replace(text, '0');
//输出: 0000迎风飘扬,000的画像屹立在000前。
final String text = "楼主好人,邮箱 sensitiveword@xx.com";
List<String> wordList = SensitiveWordHelper.findAll(text);
Assert.assertEquals("[sensitiveword@xx.com]", wordList.toString());
此外,项目还提供了一个 IWordResultHandler 结果处理类,可以对敏感词的结果进行处理,允许用户自定义。在使用的时候更加灵活。小伙伴们可以参考项目的主页文档自行尝试。
附项目的链接:
开源地址:
https://github.com/houbb/sensitive-word往期推荐: