Cha*_*eus 7 c# filter profanity
我想的是:
foreach (var word in paragraph.split(' ')) {
if (badWordArray.Contains(word) {
// do something about it
}
}
Run Code Online (Sandbox Code Playgroud)
但我确信有更好的方法.
提前致谢!
UPDATE 我不希望自动...删除淫秽我的web应用程序,我想如果我认为"糟糕"一词是用来通知.然后我会自己检查以确保它是合法的.一种自动标记系统.
小智 16
虽然你的方式有效,但可能有点耗费时间.对于之前的SO问题,这里有一个很好的回答.虽然问题是谈论PHP而不是C#,但我认为它可以轻松移植.
编辑以添加示例代码:
public string FilterWords(string inputWords) {
Regex wordFilter = new Regex("(puppies|kittens|dolphins|crabs)");
return wordFilter.Replace(inputWords, "<3");
}
Run Code Online (Sandbox Code Playgroud)
这应该或多或少对你有用.
编辑以回答OP澄清:
我不打算自动删除猥亵...对于我的网络应用程序,如果使用我认为"坏"的单词,我希望收到通知.
就像上面的替换部分一样,你可以看到是否匹配如此:
public bool HasBadWords(string inputWords) {
Regex wordFilter = new Regex("(puppies|kittens|dolphins|crabs)");
return wordFilter.IsMatch(inputWords);
}
Run Code Online (Sandbox Code Playgroud)
true
如果传递给它的字符串包含列表中的任何单词,它将返回.