问题描述
因为两个文件顺序不是完全相同的,如果错开一行可能导致结果相差很多。我的想法是首先需要找到最大匹配度的再去进行比较,好像很困难。不知道uedit是如何实现的。或者可以通过命令行调用的软件且能导出结果的帮忙推荐个也行。
解决方案
解决方案二:
你想多了,想复杂了。这种比较不需要什么“最大匹配度”概念。例如:1、2、3、4、5、6与1、2、a、b、4、5、6你可以说是前边“插入”了两行,也可以说是后边“缺少”了两行,同样一个话可以正反面都是同一个意思,只不过给人的印象则完全颠倒。所谓“最大匹配度”概念,是说要在许多中可能的操作步骤(例如几十种)中选择一种作为结论。然而你这个东西完全只需要考虑上述2种说法,而且在文件对比的UI设计上也根本不明确区分(而是模糊显示)“插入还是缺少”。所以这种问题根本就不要去纠结什么“最大匹配”概念。
解决方案三:
所谓“最大匹配度”概念,考虑了某些字眼前后颠倒、排版错位、同音字、错别字、同义词转换、章节段落的不同出场次序.......许多种可能性,这时候才叫做“匹配度”。可以说,那些没有技术含量的“匹配度”,或者是不懂匹配度的人所说的“匹配度”概念,都不可信。
解决方案四:
引用1楼sp1234的回复:
你想多了,想复杂了。这种比较不需要什么“最大匹配度”概念。例如:1、2、3、4、5、6与1、2、a、b、4、5、6你可以说是前边“插入”了两行,也可以说是后边“缺少”了两行,同样一个话可以正反面都是同一个意思,只不过给人的印象则完全颠倒。所谓“最大匹配度”概念,是说要在许多中可能的操作步骤(例如几十种)中选择一种作为结论。然而你这个东西完全只需要考虑上述2种说法,而且在文件对比的UI设计上也根本不明确区分(而是模糊显示)“插入还是缺少”。所以这种问题根本就不要去纠结什么“最大匹配”概念。
我想LZ的意思是想要SVN那种比较不同版本之间修改的那种样子吧。就像下面图里面这张我也很好奇这种比较的大致思路是什么,特别是那种大文本文件的比较,几M甚至几十M的时候感觉会很麻烦,效率低,请版主大大解惑啊。
解决方案五:
引用1楼sp1234的回复:
你想多了,想复杂了。这种比较不需要什么“最大匹配度”概念。例如:1、2、3、4、5、6与1、2、a、b、4、5、6你可以说是前边“插入”了两行,也可以说是后边“缺少”了两行,同样一个话可以正反面都是同一个意思,只不过给人的印象则完全颠倒。所谓“最大匹配度”概念,是说要在许多中可能的操作步骤(例如几十种)中选择一种作为结论。然而你这个东西完全只需要考虑上述2种说法,而且在文件对比的UI设计上也根本不明确区分(而是模糊显示)“插入还是缺少”。所以这种问题根本就不要去纠结什么“最大匹配”概念。
我想LZ的意思是想要SVN那种比较不同版本之间修改的那种样子吧。就像下面图里面这张我也很好奇这种比较的大致思路是什么,特别是那种大文本文件的比较,几M甚至几十M的时候感觉会很麻烦,效率低,请版主大大解惑啊。
解决方案六:
比较两个文件的差异:windows有fc命令linux有diff命令如果不是为了学术探讨,完全可以直接调用系统命令去进行虽然不知道那些命令内部是如何实现的但个人倾向于基于编辑距离算法来解决