gpt4 book ai didi

c# - .NET 中两个字符串的逐字差异比较

转载 作者:太空狗 更新时间:2023-10-30 00:17:26 27 4
gpt4 key购买 nike

我需要逐字比较两个字符串。类似于 diff,但用于单词,而不是行。

就像在维基百科中所做的那样 http://en.wikipedia.org/w/index.php?title=Horapollo&action=historysubmit&diff=21895647&oldid=21893459

结果我想返回两个单词索引数组,这两个数组在两个字符串中是不同的。

是否有任何适用于 .NET 的库/框架/standalone_methods 可以做到这一点?

附言我要比较几千字节的文本

最佳答案

实际上,您可能想要实现我们在 DNA 中使用的局部对齐/全局对齐算法的变体 sequence alignments .这是因为您可能无法对两个字符串进行逐字比较。即:

The quick brown fox jumps over the lazy dog
The quick fox jumps over the lazy dog

换句话说,如果您无法识别整个单词的插入和删除,您的比较算法可能会变得非常 sc(r)ewed。看看 Smith-Waterman 算法和 Needleman-Wunsch 算法,找到一种方法使它们适应您的需要。由于如果字符串很长,这样的搜索空间会变得非常大,您还可以查看 BLAST。 BLAST 是一种非常常见的启发式算法,几乎是遗传搜索的标准。

关于c# - .NET 中两个字符串的逐字差异比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1786364/

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