当比较地址的两个字符串时,我如何获得百分比精度匹配

本文关键字:何获得 百分比 精度 字符串 地址 比较 两个 | 更新日期: 2023-09-27 18:03:52

我试图比较两个名称和地址列表,以查看找到唯一的数据。我可以很容易地提取出所有在两个列表中完全相同的字符串,然后我剩下的名字和地址是不同的,但可能是相同的人。即:

列表1 Smith J Ph234567 34 Smith st

列表2 Smith John Ph234567 34 Smith st

清单1 Smith J Ph234567 34 Smith Rd条目

清单2 Smith J Ph234567 34 Smith Road

我想给看起来相似的条目添加一个标签,比如80%匹配。

嵌套的Foreach循环不能工作,因为它们匹配每个单词或字母(取决于你如何在字符串中与其他单词或字母匹配)。

For循环不能在一次更改时工作,因为John在更改后为每个条目创建错误。

我是用vb.net写的,但也可以从c#翻译

当比较地址的两个字符串时,我如何获得百分比精度匹配

这类问题一般通过计算字符串之间的编辑距离来解决。以Levenshtein距离为例。

这将给你一个分数(将一个字符串转换为另一个字符串所需的"编辑操作"的数量)。要将其转换为百分比标识符,您需要通过较大字符串的长度(沿着percent = (largerString.Length - editDistance) / largerString.Length的行)对其进行规范化。