C# 高性能敏感词过滤神器!性能超 Regex 8.8 万倍
💡
原文中文,约2100字,阅读约需5分钟。
📝
内容提要
ToolGood.Words 是一款高性能的敏感词检测组件,支持敏感词过滤、繁简体转换和拼音处理,速度可达每秒超3亿字符,性能优于C#自带正则表达式,适合开发者使用。
🎯
关键要点
- ToolGood.Words 是基于 C# 实现的高性能敏感词检测组件。
- 核心功能包括敏感词过滤、繁简体转换、全角半角互换、拼音处理等。
- 在 48k 敏感词库下,过滤速度可超过每秒 3 亿字符。
- 支持通配符和部分正则表达式语法的敏感词检测。
- 提供多种常用方法,如设置敏感词库、判断是否包含敏感词、查找敏感词等。
- 辅助功能包括繁简转换、字符处理、拼音处理和数字与中文转换。
- 拼音模糊匹配适用于地址、姓名等场景。
- 性能对比显示,ToolGood.Words 的性能远超 C# 自带正则表达式。
- 提供 Lua 版本的实现,开源地址为 https://gitee.com/toolgood/ToolGood.Words。
❓
延伸问答
ToolGood.Words 的主要功能有哪些?
ToolGood.Words 主要功能包括敏感词过滤、繁简体转换、全角半角互换和拼音处理等。
ToolGood.Words 的过滤速度有多快?
在 48k 敏感词库下,ToolGood.Words 的过滤速度可超过每秒 3 亿字符。
ToolGood.Words 如何处理拼音模糊匹配?
ToolGood.Words 使用 PinyinMatch 和 PinyinMatch<T> 实现拼音模糊搜索,适用于地址和姓名等场景。
ToolGood.Words 与 C# 自带正则表达式的性能对比如何?
ToolGood.Words 的性能在 10 万次测试中超越 C# 自带正则表达式,效率是其 8.8 万倍以上。
如何设置敏感词库?
可以使用 SetKeywords 方法设置敏感词库,例如:iwords.SetKeywords("中国|国人|zg人".Split('|'));
ToolGood.Words 是否支持通配符?
是的,ToolGood.Words 支持通配符和部分正则表达式语法的敏感词检测。
➡️