比较大段文字以区分差异的最佳方法是什么?例如,字符串A和字符串B是相同的,除了少数缺失的单词,我将如何突出显示这些?
最初我想把它分解成单词数组,然后比较元素。但是,当删除或插入单词时,这会中断。
答案 0 :(得分:3)
答案 1 :(得分:1)
几个月前我在一个小项目上工作时看到了这个,但它可能会让你走上正轨。
答案 2 :(得分:0)
您希望查看最长公共子序列算法。大多数语言都有一个库可以为你做脏工作,而here是一个用于C#的文库。搜索“C#diff”或“VB.Net diff”将帮助您找到适合您需求的其他库。
答案 3 :(得分:0)
通常,文本差异是以edit distance来衡量的,这基本上是将一个文本转换为另一个文本所需的字符添加,删除或更改的数量。
此算法的常见实现使用dynamic programming。
答案 4 :(得分:0)
以下是合并引擎的一个实现,它可以比较2个html文件并显示突出显示的差异:http://www.codeproject.com/KB/string/htmltextcompare.aspx
答案 5 :(得分:0)
如果是一次性交易,请将它们保存在MS Word中并使用文档比较功能。