c# - 如何从字符串中剪切指定的单词

标签 c# algorithm

有一个禁用词列表(或更一般的字符串)和另一个列表,比方说用户邮件。我想从所有邮件中删除所有禁用词。

简单的例子:

foreach(string word in wordsList)
{
   foreach(string mail in mailList)
   {
      mail.Replace(word,String.Empty);
   }
}

我该如何改进这个算法?


感谢您的建议。我投了几个答案,但我没有将任何答案标记为答案,因为它更像是讨论而不是解决方案。有些人用坏话错过了禁词。就我而言,我不必费心去识别“sh1t”或类似的东西。

最佳答案

脏话过滤的简单方法行不通 - 复杂的方法在大多数情况下也行不通。

当你得到一个像'password'这样的作品,你想过滤掉'ass'时会发生什么?当一些聪明的人改为写“a$$”时会发生什么 - 意图仍然很清楚,对吧?

参见 How do you implement a good profanity filter?进行广泛讨论。

关于c# - 如何从字符串中剪切指定的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3864678/

相关文章:

c# - 为什么对象在向上转换时保存属性

c# - ExecuteSqlCommand 与 SqlQuery 有什么区别?什么时候做数据库访问?

java - 如何在不使用 System.exit(0) 的情况下停止回溯?

algorithm - 通过添加或乘以节点找到树可以生成的所有数字

c# - 如何成功将对象添加到私有(private)列表?

c# - 如何使用 openFileDialog 打开 excel 文件

algorithm - 关于最短路径等的算法问题

algorithm - n 个对象的排列(重复排列)

algorithm - 通过网络传输手写信息

c# - 从 Unity 3d 获取 applicationContext