第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何檢查文本是否包含 Golang 列表中的任何單詞?

如何檢查文本是否包含 Golang 列表中的任何單詞?

Go
侃侃爾雅 2022-05-10 16:15:28
我想檢查用戶提交的文本中是否有垃圾郵件。所以這是我寫的函數(shù):func TextHasSpamWords(text string, spamWords []string) bool {    removePunctuation := func(r rune) rune {        if strings.ContainsRune(".,:;", r) {            return -1        } else {            return r        }    }    text = strings.Map(removePunctuation, text)    sort.Strings(spamWords)    for _, word := range text {        for _, sapmWord := range spamWords {            if word == sapmWord {                return true            }        }    }}但我明白mismatched type rune and string了word == sapmWord。我知道這是因?yàn)閞emovePunctuation返回?zé)o法與字符串(unit8)比較的符文(又名 int32)。但是刪除標(biāo)點(diǎn)符號對于該功能的工作是必不可少的,所以我想知道如何解決這個問題?或者也許有一種更慣用的方式來做到這一點(diǎn)?
查看完整描述

2 回答

?
MM們

TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個贊

考慮使用地圖進(jìn)行查找


lookupSpam := make(map[string]bool)

for _, v := range spamWords {

    lookupSpam[v] = true

}

然后代替


for _, word := range textArr {

    for _, sapmWord := range spamWords {

        if word == sapmWord {

            return true

        }

    }

}

可以使用這樣的東西


for _, word := range textArr {

    _,found:=lookupSpam[word]

    if found {

       return true

    }

}

如果您重復(fù)檢查同一組單詞,則設(shè)置一次地圖并重復(fù)使用它


查看完整回答
反對 回復(fù) 2022-05-10
?
HUWWW

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個贊

您正在嘗試比較一個字母和一個字符串。


當(dāng)你在做for _, word := range text的時候,它不是詞,它是letter。如果你想要單詞,你必須將字符串分割成一片單詞textArr := strings.Split(text, " ")(由空格分割)


func TextHasSpamWords(text string, spamWords []string) bool {

    removePunctuation := func(r rune) rune {

        if strings.ContainsRune(".,:;", r) {

            return -1

        } else {

            return r

        }

    }

    text = strings.Map(removePunctuation, text)

    textArr := strings.Split(text, ` `)

    sort.Strings(spamWords)

    for _, word := range textArr {

        for _, sapmWord := range spamWords {

            if word == sapmWord {

                return true

            }

        }

    }

    return false

}


查看完整回答
反對 回復(fù) 2022-05-10
  • 2 回答
  • 0 關(guān)注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號