我正在研究在wiki上构建内联评论系统(但这不是 问题)。首先想到的是能够将注释与具有唯一ID的行,段落或字符串相关联。然后让这个关联对wiki的多次编辑保持有效。
例如,从此输入:
R1:
1 One
2 Two
3
4 Three
5 Four
R2:
1 One
2 Three
3 Two
4
5 Four
我希望在1⇒1,2⇒3,3⇒4,5⇒5之间有一个映射,并且知道添加了新的第2行,并删除了4。处理第4行移动到第2行可能开始做出一些猜测,我不确定。
有很多工具可以执行类似的文本操作(不,我在工具之后不)。我想到了差异,版本控制和修订合并。 是否有众所周知的算法来跟踪文件更改之间的内容?我的偏好是python,但我也有兴趣了解其他人。
答案 0 :(得分:1)
由于您已经听说过diff
,因此您可能对它所基于的Hunt-McIlroy algorithm(及其类型的其他工具)感兴趣。顺便说一下,diff
在Python中可用作difflib
。
实际修订跟踪(就像Word启用“跟踪更改”时所做的那样)需要以某种方式标记文本,而无法使用纯文本进行标记。但是差异和合并算法非常善于解决这个问题。