我正在寻找一个允许两个字符串进行智能比较的库/类.最好它会给出两个字符串相似的百分比.我正在比较公司名称,在不同存储库中记录的地址,因此在名称中有许多拼写错误或不一致.
要比较的示例字符串:
"Good Company Ltd." vs. "GoodCompany"
"Baker Street 2" vs. "Baker Str. 2"
Run Code Online (Sandbox Code Playgroud)
如果我得到相似百分比的结果,那么这可以是这种数据的智能合并的输入.
你知道任何能够进行这种智能字符串比较的好库吗?
我正在为我正在进行的项目执行CSV导入工具.客户端需要能够在excel中输入数据,将它们导出为CSV并将它们上传到数据库.例如,我有这个CSV记录:
1, John Doe, ACME Comapny (the typo is on purpose)
Run Code Online (Sandbox Code Playgroud)
当然,这些公司被保存在一个单独的表中并与外键相关联,因此我需要在插入之前发现正确的公司ID.我计划通过将数据库中的公司名称与CSV中的公司名称进行比较来实现此目的.如果字符串完全相同,则比较应返回0,并返回一些随着字符串变得更大而变大的值,但是strcmp不会在此处删除它,因为:
"Acme公司"和"Acme Comapny"应该有一个非常小的差异指数,但"Acme公司"和"Cmea Mpnyaco"应该有一个非常大的差异指数或"Acme公司"和"Acme Comp.".即使字符数不同,也应该有一个小的差异索引.此外,"Acme Company"和"Company Acme"应返回0.
因此,如果客户端在输入数据时输入类型,我可以提示他选择他最想插入的名称.
是否有一个已知的算法来做到这一点,或者我们可以发明一个:)?
我有一个输入字符串和一个字符串集合,我想比较输入字符串,找到最佳的选择.我想写一个函数,告诉我这两个字符串是多少相似.你有什么想法吗?