You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go语言实现忽略大小写检测文件中指定敏感词的问题

敏感词文件扫描功能问题

我需要实现一个功能:读取文件并扫描其中是否包含指定“敏感词”,最终输出True或False表示是否存在。我编写了如下readFile函数:

func readFile(fileName string, tabooName string) {
    dataFile, err := os.Open(fileName)
    if err != nil {
        log.Fatal(err)
    }
    defer dataFile.Close()

    scanner := bufio.NewScanner(dataFile)

    for scanner.Scan() {
        scanner.Text()
        if strings.Contains(scanner.Text(), strings.ToLower(tabooName)) || strings.Contains(scanner.Text(), strings.ToUpper(tabooName)) {
            fmt.Println("True")
            break
        } else {
            fmt.Println("False")
            break
        }
    }

    if err := scanner.Err(); err != nil {
        log.Fatal(err)
    }
}

该函数曾存在问题:当敏感词为全大写形式时无法正常工作。例如测试用例中,文件forbidden_words.txt包含全大写的HARSH,但程序输出了False。

更新:现在该函数已能正常运行——最初我把逻辑写在main函数中时可以正常工作,现在移到readFile函数里也没问题了。

内容的提问来源于stack exchange,提问作者worrum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 23:15:16