删除文本中的垃圾邮件网址

时间:2010-02-13 10:57:22

标签: c#

输入:

  

dsfdsf www。 cnn .com dksfj kdsfjkdjfdf   www.google.com dkfjkdjfk w w w。亚   hoo .co mdfdd

输出:

  

dsfdsf dksfj kdsfjkdjfdf dkfjkdjfk mdfdd

如何编写在C#中执行此操作的函数?

2 个答案:

答案 0 :(得分:1)

基本上你必须实施两个步骤:

  1. 正常化
  2. 过滤
  3. 标准化意味着您将从输入中删除所有空格和其他噪声字符,然后将所有变音符号,特殊字符等转码为基本拉丁字母(这是将相同或相似的字形映射到一个单个字符,例如omicron和o看起来相同)。您需要保留从输入的规范化版本到原始输入的一对一映射。

    然后,您将搜索标准化输入以查找被阻止的模式,检索原始输入中的相同模式并将其删除。

    当然,这种方法不是故障安全的,实际上你可能会得到误报。

    可以在此处找到描述简单过滤注定失败的好答案:

      

    How do you implement a good profanity filter?

答案 1 :(得分:0)

首先了解C#中的RegEx (Regular Expression) facilities,然后您需要一个好的RegEx that matches a URL。您需要更改此选项以管理包含空格的网址。