gpt4 book ai didi

string - 比较两个字符串或对象并获取差异

转载 作者:行者123 更新时间:2023-12-02 05:22:31 24 4
gpt4 key购买 nike

我想在我的网站上实现一种版本历史记录,并且我需要一种比较字符串或对象键的方法。例如:

Original string / object key: The quicker brown fox

Revised string / object key: The quick brown foxjumped over the lazy rabbit

Revision: added jumped over the lazy rabbit removed er

我只想在历史表中保存修订版本。我真的不知道从哪里开始,所以任何如何让我继续前进的想法或有关该方法的建议将非常感激。

我知道 find()函数,我怀疑它是使用的主要候选者,但我不知道如何将其可视化为解决方案,因为可以说它比较字符串“批发”。

最佳答案

您想要一个比较算法(我已将问题标记为这样),我强烈建议您不要尝试自己编写。我尝试过,但失败了,因为这是一个 NP 完全问题,不容易理解。相反,请查看diff-match-patch ,它具有用于客户端 ( demo ) 或服务器端处理的 JavaScript 和 Java 实现。如果您需要进行 HTML 差异,请查看 daisydiff相反,尽管需要预先警告,HTML/XML 比较确实是一种痛苦的经历 ( see this page for some reasons why )。

diffing 的鼻祖可能是 GNU diff ,其中还有 Java implementation (查找“GNU Diff for Java”)。该算法比 diff-match-patch (dmp) 更优化,尽管 dmp 似乎一直在改进,因此如果您需要比较非常大的字符串(例如兆字节),GNU 算法可能是更好的选择。

关于string - 比较两个字符串或对象并获取差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4595108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com