您知道有哪些好的算法可以匹配两个字符串,并返回这两个字符串匹配的百分比吗?
而且,有些算法可以与数据库一起使用吗?
Levenstein distance(编辑距离)是一种衡量方法。它基本上告诉你,从第一个字符串到第二个字符串需要编辑、删除或添加多少个字符。我不确定是否有一些数据库系统支持它。
但我确定,一种更简化的算法Soundex在某些数据库系统中得到了支持。
这取决于您对相似性的标准。其他人已经向您介绍了Levenstein距离(编辑距离是相同的)。这通常非常好,而且明显比像soundex这样的东西更独立于语言。但请注意,Levenstein距离不能很好地处理转换。因此:
Levenstein("copy", "cpoy") == 2
如何最好地匹配两个字符串?让它们出去喝杯咖啡,如果感觉合适,再去吃晚饭和看电影。或者也许他们可以一起编程?这真的取决于这些字符串的情况。即使是喝咖啡有时候也可能会很棘手。