与新添加和删除的字符串差异

时间:2012-01-12 11:27:03

标签: java

我想在java中找到两个字符串之间的区别。差异应该接近任何文件比较工具。我使用了最长的常见子序列算法,但仍未指出确切的预期差异。对此方面的任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:4)

也许你可以使用Levenstein算法。

http://en.wikipedia.org/wiki/Levenshtein_distance

答案 1 :(得分:0)

我不认为写自己是微不足道的,所以最好使用像这样的库: http://code.google.com/p/google-diff-match-patch/ 它有各种语言版本,包括Java。

如果我想弄清楚它是如何工作的,我首先要看看Myer的diff算法(google-diff-match-patch说的是最先进的): http://neil.fraser.name/software/diff_match_patch/myers.pdf