亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C# 高性能敏感詞過濾神器!性能超 Regex 8.8 萬倍

admin
2025年7月22日 18:43 本文熱度 43

ToolGood.Words 是一個(gè)基于 C# 實(shí)現(xiàn)的高性能非法詞(敏感詞)檢測(cè)組件,具備以下核心功能:

  • ? 敏感詞過濾(支持通配符)
  • ? 繁體/簡體互換
  • ? 全角/半角互換
  • ? 獲取拼音(全拼、首字母)
  • ? 拼音模糊匹配
  • ? 數(shù)字與中文大寫轉(zhuǎn)換

在 48k 敏感詞庫下,使用 StringSearchEx2.Replace 進(jìn)行過濾,速度可超過 3 億字符/秒(測(cè)試環(huán)境:i7-8750H CPU)。


核心組件說明

非法詞(敏感詞)檢測(cè)類

類名
特點(diǎn)
StringSearch
 / StringSearchEx / StringSearchEx2
返回 string 類型結(jié)果
WordsSearch
 / WordsSearchEx / WordsSearchEx2
返回 WordsSearchResult 類型,包含位置、序號(hào)等信息
IllegalWordsSearch
專為非法詞過濾設(shè)計(jì),支持跳詞、黑名單、忽略大小寫等高級(jí)功能

常用方法

  • SetKeywords:設(shè)置敏感詞庫
  • ContainsAny:判斷是否包含敏感詞
  • FindFirst:查找第一個(gè)敏感詞
  • FindAll:查找所有敏感詞
  • Replace:替換敏感詞為指定字符

示例代碼

var iwords = new StringSearch();
iwords.SetKeywords("中國|國人|zg人".Split('|'));

bool contains = iwords.ContainsAny("我是中國人"); // true
string replaced = iwords.Replace("我是中國人"'*'); // "我是***"

支持通配符的檢測(cè)類

類名
特點(diǎn)
StringMatch
 / StringMatchEx
支持部分正則表達(dá)式語法,如 .?[], `(
WordsMatch
 / WordsMatchEx
返回 WordsMatchResult,包含匹配詞、原始詞、位置等信息

示例代碼

var wordsSearch = new WordsMatch();
wordsSearch.SetKeywords(".[中美]國|國人|zg人".Split('|'));

var result = wordsSearch.FindFirst("我是中國人");
// result.Keyword => "是中國"
// result.MatchKeyword => ".[中美]國"

輔助功能

繁簡轉(zhuǎn)換與字符處理

WordsHelper.ToSimplifiedChinese("我愛中國"); // "我愛中國"
WordsHelper.ToTraditionalChinese("我愛中國"); // "我愛中國"
WordsHelper.ToSBC("abc"); // 全角:abc
WordsHelper.ToDBC("abc"); // 半角:abc

拼音處理

WordsHelper.GetPinyin("我愛中國"); // "WoAiZhongGuo"
WordsHelper.GetFirstPinyin("我愛中國"); // "WAZG"
WordsHelper.GetAllPinyin('傳'); // "Chuan,Zhuan"

數(shù)字與中文轉(zhuǎn)換

WordsHelper.ToChineseRMB(12345678901.12); // "壹佰貳拾叁億肆仟伍佰陸拾柒萬捌仟玖佰零壹元壹角貳分"
WordsHelper.ToNumber("壹佰貳拾叁億肆仟伍佰陸拾柒萬捌仟玖佰零壹元壹角貳分"); // 12345678901.12

拼音模糊匹配

使用 PinyinMatch 和 PinyinMatch<T> 可實(shí)現(xiàn)拼音模糊搜索,適用于地址、姓名等場(chǎng)景。

var match = new PinyinMatch();
match.SetKeywords("北京|天津|河北|遼寧|吉林|黑龍江|山東|江蘇|上海|浙江|安徽|福建|江西|廣東|廣西|海南|河南|湖南|湖北|山西|內(nèi)蒙古|寧夏|青海|陜西|甘肅|新疆|四川|貴州|云南|重慶|西藏|香港|澳門|臺(tái)灣".Split('|').ToList());

var result = match.Find("BJ"); // ["北京"]

性能對(duì)比

在 10 萬次測(cè)試中,StringSearchEx2.ContainsAny 的性能遠(yuǎn)超 C# 自帶正則表達(dá)式,效率是其 8.8 萬倍以上(與敏感詞數(shù)量相關(guān))。

?? 注意:Regex.Matches 僅檢測(cè)出 11 個(gè)敏感詞,而 StringSearch 檢測(cè)出 14 個(gè)。


多語言實(shí)現(xiàn)

  • Lua 版本:由 wenlifan 實(shí)現(xiàn)

開源地址

https://gitee.com/toolgood/ToolGood.Words?

 


··············  END  ··············


該文章在 2025/7/23 12:10:01 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved