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

时间:2016-10-07 11:38:17

标签: c# asp.net c#-4.0 asp.net-4.5

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

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

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

2 个答案:

答案 0 :(得分:1)

只需使用Where代替Any

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

这将返回文本中匹配的字符串列表。

答案 1 :(得分:1)

使用Where代替Any

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