单线差异

时间:2010-01-09 19:59:04

标签: python diff

我发现的所有差异工具都是逐行比较而不是char的char。是否有任何库提供有关单行字符串的详细信息?也许也是一个百分比差异,虽然我猜有不同的功能呢?

4 个答案:

答案 0 :(得分:5)

此算法逐字区分:

http://github.com/paulgb/simplediff

以Python和PHP提供。它甚至可以使用<ins><del>标签吐出HTML格式的输出。

答案 1 :(得分:4)

我最近在寻找类似的东西,遇到了wdiff。它运用的是单词,而不是字符,但这是否与你想要的一致?

答案 2 :(得分:3)

你可以尝试的是将两个字符串逐字符分割成行,然后就可以使用diff。这是一个肮脏的黑客,但至少它应该工作,并且很容易实现。

或者,您可以将字符串拆分为Python中的字符列表并使用difflib。查看Python difflib reference

答案 3 :(得分:3)

您可以实施一个简单的 Needleman-Wunsch 算法。伪代码可在维基百科上找到:http://en.wikipedia.org/wiki/Needleman%E2%80%93Wunsch_algorithm