File 基于内容的字符串匹配
我试着比较两个文本文件,想知道它们有多相等。必须考虑单词的顺序 例如: 正文1:File 基于内容的字符串匹配,file,compare,string-matching,File,Compare,String Matching,我试着比较两个文本文件,想知道它们有多相等。必须考虑单词的顺序 例如: 正文1: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. 文本2: Lorem ipsum sit amet, consictetuer adipiscing elit. Aenean dolor commodo ligvla eget dolor.
Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Aenean commodo
ligula eget dolor. Aenean massa.
文本2:
Lorem ipsum sit amet, consictetuer
adipiscing elit. Aenean dolor commodo
ligvla eget dolor. massa.
我找到了很多解决方案来逐行比较两个文本文件,但如果有任何不同,它们在一行中给出了一个不匹配的结果。就像在这个例子中,所有的行都是不同的,我没有得到任何匹配
我需要一些算法来逐字比较文件。应该看到,一行中的单词是相等的,并且以相同的顺序出现,但有时可能是缺少一个单词,添加了一些字符或几个字符不匹配
因此,如果缺少一个单词,算法不应该创建后续错误(如示例中所示:在文本中,_2缺少“dolor”,因此如果我在一个数组中逐字比较文本,我会得到几乎其余文本的后续错误)
我预期的解决方案应该给我:
- 单词列表出现在同一上下文中的两个文本中。[Lorem ipsum sit amet,Adipis Elite.Aenean commodo eget dolor.massa.]
- 第二篇课文中遗漏的单词列表。[康塞特图尔、利古拉、埃尼安]
- 在第二个文本中添加的单词列表。[ConsisteTuer,ligvla]
- 两个文本中但位置不同的单词列表[dolor]
- (可选)识别仅在几个字符上不同的单词[ligula,ligvla]
-s
选项
您可以尝试调整算法的某些部分,以使用单词作为标记而不是行,但这项任务几乎没有强大的通用解决方案-这就是为什么我们经常看到手动合并 例如,
一二三三二一
~一二
-编辑后,您如何判断“二”的哪个实例剩余?或者,删除后只剩下最后一个“一”,然后在末尾加上“两”?差别越大,问题就越大。但是,您特定的数据限制和需求可以使这一点非常可行。。