c# – 智能字符串比较

我正在寻找一个允许智能比较两个字符串的库/类。最多只会给出两个字符串相似的百分比。我正在比较公司名称,在不同的存储库中记录的地址,因此在名称中有许多拼写错误或不一致。

示例字符串进行比较:

 "Good Company Ltd." vs. "GoodCompany" 
 "Baker Street 2" vs. "Baker Str. 2" 

如果我得到一个结果百分比的alikeness,这可以是一个这样的数据智能合并的输入。

你知道有什么好的图书馆会允许这样的智能字符串比较吗?

在这种情况下,列文斯坦不合适。 “好公司”和“好公司”如果修剪距离= 3,而“好公司”和“食品有限公司”的距离为1,但完全不同。我建议Metaphone or Double Metaphone算法。

使用online metaphone comparer的结果是:

06000

以这种方式,您知道GoodCompany,Good Company Ltd和GoodCompanyLLC是类似的,而食品公司是拼写错误的或完全不相关的(KTKMPN包含在KTKMPNLTT和KTKMPNLK中,但不包含在FTKMPNLTT中)。

查看here进行其他算法比较。

翻译自:https://stackoverflow.com/questions/16713292/smart-string-comparison

转载注明原文:c# – 智能字符串比较