儘管您的方法有效,但可能會耗費一些時間。對於之前的SO問題,有一個wonderful response here。雖然這個問題談論的是PHP而不是C#,但我認爲它可以很容易地移植。
編輯補充示例代碼:
public string FilterWords(string inputWords) {
Regex wordFilter = new Regex("(puppies|kittens|dolphins|crabs)");
return wordFilter.Replace(inputWords, "<3");
}
這應該爲你工作,或多或少。
編輯回答OP澄清:
我不希望刪除淫穢自動...我的web應用程序,我想我們會通知您一個字,我認爲「壞」字。
就像上面的替換部分,你可以看到,如果像這樣匹配:
public bool HasBadWords(string inputWords) {
Regex wordFilter = new Regex("(puppies|kittens|dolphins|crabs)");
return wordFilter.IsMatch(inputWords);
}
它將返回true
,如果你傳遞給它的字符串包含列表中的任何話。
我繼續編輯我的解決方案以響應您的更新。讓我知道這是否回答你的問題。 – rakuo15 2010-07-09 10:29:02
可能的重複[你如何實現一個良好的褻瀆過濾?](http://stackoverflow.com/questions/273516/how-do-you-implement-a-good-profanity-filter) – 2010-10-22 16:21:53