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 支持通配符和部分正则表达式语法的敏感词检测。

➡️

继续阅读