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 的过滤速度超过每秒 3 亿字符,远超 C# 自带的正则表达式。这使得它在处理大规模文本时,能够显著提高效率,适合需要实时敏感词检测的应用场景。

功能多样性

除了敏感词过滤,ToolGood.Words 还支持繁简体转换、拼音处理等多种功能。这些附加功能使得它不仅限于敏感词检测,开发者可以在多种文本处理需求中使用该组件。

使用注意事项

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

🏷️

标签

➡️

继续阅读