4

有谁知道一种简单的方法来比较两个字符串以生成两者之间的“差异量”?(以数值表示)我一直在爬谷歌,但运气不佳。在做了一些编码之后,它并不像我想象的那么简单。有什么线索吗?

4

4 回答 4

5

你说的是“编辑距离”吗?在 SO 或 Google 上搜索“Levenshtein Distance”。我使用发布在Stephen Toub 博客上的版本

于 2008-10-09T18:16:10.250 回答
2

您正在寻找Levenshtein 距离

于 2008-10-09T18:16:20.233 回答
1

您可能想查看LevenshteinHamming距离。一个计算编辑距离(插入、删除、修改),另一个位翻转。

于 2008-10-09T18:18:05.673 回答
0

您需要非常清楚地定义“差异量”。里面有很大的回旋余地。

例如,旧的 C/C++ 函数strcmp()函数逐个字符进行比较,并在第一次不匹配时返回差异。

另一方面,diff 程序提供了两个文件之间差异的综合列表(从某种意义上说,这也是字符串)。你将如何量化它?

于 2008-10-09T18:17:58.577 回答