golang敏感詞過濾的實現(xiàn)
用golang寫了敏感詞過濾的工具,主要用來檢測用戶昵稱中是否存在敏感詞,同時提供剔除轉(zhuǎn)移字符的功能。
可以先將敏感詞庫存放在一個map中,敏感詞可以參考這里:https://github.com/fwwdn/sensitive-stop-words
將map和昵稱傳入,程序會檢查昵稱的每一個子串,判斷是否在map敏感詞庫中。復(fù)雜度O(len(name)^2)
package util import ( "github.com/pkg/errors" "strings" ) type filter struct { data string maxLimitLen int } func NewKeywordFilter(str string, maxLimitLen int) (*filter, error) { if len(str) > maxLimitLen { return nil, errors.Errorf("長度:%d,不能超過:%d", len(str), maxLimitLen) } return &filter{ data: str, maxLimitLen: maxLimitLen, }, nil } func (f *filter) GetData() string { return f.data } func (f *filter) FilterKeywords(keywords map[string]bool) (err error) { if keywords == nil { return } for i := 0; i < len(f.data); i++ { for j := i + 1; j <= len(f.data); j++ { subStr := f.data[i:j] if _, found := keywords[subStr]; found { err = errors.Errorf("昵稱違規(guī),建議修改") } } } return } func (f *filter) TrimAllCharset(ch []string) (err error) { if ch == nil { return } for _, c := range ch { f.data = strings.Replace(f.data, c, "", -1) } if len(f.data) == 0 { err = errors.New("剔除相關(guān)轉(zhuǎn)移字符后,數(shù)據(jù)長度為0.") return } return }
到此這篇關(guān)于golang敏感詞過濾的實現(xiàn)的文章就介紹到這了,更多相關(guān)golang敏感詞過濾內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
go語言題解LeetCode1299將每個元素替換為右側(cè)最大元素
這篇文章主要為大家介紹了go語言LeetCode刷題1299將每個元素替換為右側(cè)最大元素示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01一文帶你搞懂Golang結(jié)構(gòu)體內(nèi)存布局
結(jié)構(gòu)體在Go語言中是一個很重要的部分,在項目中會經(jīng)常用到。這篇文章主要帶大家看一下結(jié)構(gòu)體在內(nèi)存中是怎么分布的?通過對內(nèi)存布局的了解,可以幫助我們寫出更優(yōu)質(zhì)的代碼。感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助2022-10-10Golang自定義結(jié)構(gòu)體轉(zhuǎn)map的操作
這篇文章主要介紹了Golang自定義結(jié)構(gòu)體轉(zhuǎn)map的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12Go-ethereum?解析ethersjs中產(chǎn)生的簽名信息思路詳解
這篇文章主要介紹了Go-ethereum?解析ethersjs中產(chǎn)生的簽名信息,我們解析簽名的需要知道,簽名的消息,簽名,和公鑰,按照這個思路,我們可以通過ethers實現(xiàn)消息的簽名,也可以通過go-ethereum實現(xiàn),需要的朋友可以參考下2022-08-08golang實現(xiàn)簡單工廠、方法工廠、抽象工廠三種設(shè)計模式
這篇文章介紹了golang實現(xiàn)簡單工廠、方法工廠、抽象工廠三種設(shè)計模式的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04