基于C#實(shí)現(xiàn)的敏感字檢測(cè)示例
這是今天提到的一個(gè)需求,于是做了一個(gè)小demo。把過(guò)程記錄下來(lái)。
第一步 新建項(xiàng)目
比如 demo1 這里是用網(wǎng)站形式
第二步下載敏感詞類(lèi)庫(kù)ToolGood.Words.dll
方案一 可以先去網(wǎng)絡(luò)搜索,查找開(kāi)源的代碼庫(kù),然后把代碼下載下來(lái),自己編譯。
方案二 用nuget下載
第三步創(chuàng)建測(cè)試方法
[HttpPost] public ActionResult GetTestMinGan(ProductInfo model) { // 創(chuàng)建敏感詞過(guò)濾器對(duì)象 var filter = new WordsSearch(); // 添加敏感詞 List<string> words = new List<string>() { "磁性", "帶電", "液體", "膏狀", "粉末", "顆粒", "食品", "仿牌", "電子", "氣體", "動(dòng)物", "植物", "鮮活類(lèi)物品", "酒精類(lèi)", "槍械形狀物品", "貨幣", "金融票據(jù)", "腐蝕品", "藥品類(lèi)", "毒品", "煙草", "危險(xiǎn)物品", "易燃易爆" }; filter.SetKeywords(words); // 檢測(cè)文本是否包含敏感詞 string text = model.ProductName; bool containsSensitiveWords = filter.ContainsAny(text); // 輸出結(jié)果 if (containsSensitiveWords) { return Content("文本中包含敏感詞"); } else { return Content("文本中不包含敏感詞"); } }
實(shí)體類(lèi) ProductInfo
public class ProductInfo { public string ProductName{get;set;} }
第四步測(cè)試
其他
這是gpt平臺(tái)回答的 ToolGood.Words 是一個(gè)C#的敏感詞過(guò)濾庫(kù),可以用于快速判斷一段文本中是否包含敏感詞。以下是引入和使用 ToolGood.Words 的示例代碼:
using System; using System.Collections.Generic; using System.Linq; using ToolGood.Words; class Program { static void Main() { // 創(chuàng)建敏感詞過(guò)濾器對(duì)象 var filter = new WordsSearch(); // 添加敏感詞 List<string> words = new List<string>() { "敏感詞1", "敏感詞2", "敏感詞3" }; filter.SetKeywords(words); // 檢測(cè)文本是否包含敏感詞 string text = "這是一段包含敏感詞1和敏感詞2的文本"; bool containsSensitiveWords = filter.ContainsAny(text); // 輸出結(jié)果 if (containsSensitiveWords) { Console.WriteLine("文本中包含敏感詞"); } else { Console.WriteLine("文本中不包含敏感詞"); } } }
以上代碼中,我們首先創(chuàng)建了一個(gè) WordsSearch
對(duì)象,這個(gè)對(duì)象代表一個(gè)敏感詞過(guò)濾器。然后,我們使用 SetKeywords()
方法給敏感詞過(guò)濾器添加敏感詞。
接著,我們定義了一段文本 text
。使用 ContainsAny()
方法檢測(cè)這段文本中是否包含任意一個(gè)敏感詞。如果包含敏感詞,則輸出 "文本中包含敏感詞",否則輸出 "文本中不包含敏感詞"。
當(dāng)然,還有許多其它方法可以實(shí)現(xiàn)自定義敏感詞庫(kù)、檢測(cè)詳細(xì)的敏感詞信息等功能。你可以根據(jù)具體需求查看 ToolGood.Words 的文檔來(lái)使用它提供的功能。
總結(jié)
這個(gè)庫(kù)使用起來(lái)是非常簡(jiǎn)單的。關(guān)于敏感詞存放位置。這個(gè)根據(jù)需求來(lái),既可以是文件,也可以是數(shù)據(jù)庫(kù),當(dāng)然也可以寫(xiě)死在代碼里。根據(jù)自己的需求來(lái)。
到此這篇關(guān)于基于C#實(shí)現(xiàn)的敏感字檢測(cè)示例的文章就介紹到這了,更多相關(guān)C#敏感字檢測(cè)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
DevExpress之SplashScreen用法實(shí)例
這篇文章主要介紹了DevExpress中SplashScreen的用法,對(duì)于C#初學(xué)者有很好的參考借鑒價(jià)值,需要的朋友可以參考下2014-08-08C#如何使用系統(tǒng)默認(rèn)應(yīng)用程序打開(kāi)文件
本文介紹了如何使用System.Diagnostics.Process類(lèi)的Start方法來(lái)打開(kāi)文件,通過(guò)傳遞文件路徑作為參數(shù),系統(tǒng)會(huì)使用默認(rèn)應(yīng)用程序打開(kāi)該文件,例如,如果文件擴(kuò)展名為.txt,則會(huì)使用NotePad或WordPad打開(kāi);如果擴(kuò)展名為.html,則會(huì)使用系統(tǒng)默認(rèn)瀏覽器打開(kāi)2025-01-01C#訪(fǎng)問(wèn)網(wǎng)絡(luò)共享文件夾的方法
這篇文章主要為大家詳細(xì)介紹了C#訪(fǎng)問(wèn)網(wǎng)絡(luò)共享文件夾的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05winform獲取當(dāng)前名稱(chēng)實(shí)例匯總
這篇文章主要介紹了winform獲取當(dāng)前名稱(chēng)實(shí)例匯總,包括常見(jiàn)的目錄名、文件名、路徑等,非常實(shí)用,需要的朋友可以參考下2014-10-10深入分析C#連接Oracle數(shù)據(jù)庫(kù)的連接字符串詳解
本篇文章是對(duì)C#連接Oracle數(shù)據(jù)庫(kù)的連接字符串進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05