获取出现在提供的字符串中的匹配黑名单单词

Get matched Blacklist words that appears in a provided string

我有一个包含黑名单单词列表的数组作为字符串。如果黑名单中的至少一个词出现在文本中,则此函数 returns 为真。

 private static bool IsSuspectedAsSpam(string text, IEnumerable<string> wordBlacklist)
    {
        string temp = text.ToLower();
        return wordBlacklist.Any(s => temp.Contains(s));           
    }

如何从文本中找到的黑名单中提取单词,因为我想将它们打印在网页上。

只需使用 Where 而不是 Any:

private static IEnumerable<string> GetSpamWords(string text, IEnumerable<string> wordBlacklist)
{
    return wordBlacklist.Where(s => text.ToLower().Contains(s)).ToList();
}

这将 return 与您的文本匹配的字符串列表。

使用 Where 而不是任何

private static List<string> GetSpamWords(string text, IEnumerable<string> wordBlacklist)
{
            string temp = text.ToLower();
            return wordBlacklist.Where(s => temp.Contains(s)).ToList();           
}