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
相关产品推荐
相关产品推荐

