假设我有2个HTML源代码。我想比较这些,如果它们的差异大于给定的百分比值,我想用新的HTML做点什么 例如,如果2个HTML页面的差异为5%或更多,我想通过电子邮件发送给某人。 我怎么能用Java做到这一点?这个库有吗?
答案 0 :(得分:1)
我们的Smart Differencer工具可能会对您有所帮助。
这个工具比较“代码”的结构(各种语言,HTML是一个)并产生类似输出的“差异”,但是它专注于代码差异而不仅仅是原始文本差异,使用关于什么是真正不同的特定语言(但有些限制)。因此,如果您在标记中交换了两个属性的位置,则表示没有区别。
diff输出告诉您哪些代码块已被删除,插入,移动或复制完成,并且可根据语言结构检测到替换。 (对于HTML,正常显示文本的任何更改都被视为替换;它不会对此类文本字符串执行diff操作)。你必须扫描工具输出以收集你的“整体变化”统计数据,所以这在概念上与使用cygwin diff做同样的事情不同,但数字可能会更精确。 YMMV。
答案 1 :(得分:0)
这样做的便宜和讨厌的方法是通过HTML整理运行所有内容,删除无关紧要的空白,然后在每个'<'之前插入换行符字符。根据我的经验,您可以通过标准的基于行的diff实用程序运行生成的文本,为您提供“足够好”的粗略差异度量标准。