用于电子邮件的GMail diff算法

当您发送电子邮件时,通常邮件客户端会“引用”所有旧电子邮件.

但是因为这是在客户端完成的,所以当然没有标准:

>一些插入>在一行的开头作为报价的指标
>有些人在引用文本上写了一些新文本,有些是UNDER
> webOS例如没有任何“引用”旧文本的方法.它只是按原样插入.

GMail在过滤已发送电子邮件的旧部分方面做得非常出色,并为用户提供“显示引用文本”选项.

有没有类似的算法来检测那些相似的部分?

最佳答案 我不知道使用了什么算法,但由于这是电子邮件而不是代码,因此diff会更容易.基本上,如果您将每一行视为字符串中的字符(使用一些哈希表示),则电子邮件可以表示为字符串(每行一个字符).

然后,您可以使用最小编辑距离算法来计算添加的内容以及从一封电子邮件到另一封邮件的删除内容.所有常见的东西都会成为你引用的文字,所有添加的东西都是你的新邮件.

以下是字符串edit distance algo的链接:

点赞