高效模式匹配/字符串合并算法

时间:2012-08-06 20:54:37

标签: algorithm pattern-matching similarity knuth-morris-pratt

我正在寻找一种用于合并字符串的算法(最好使用java实现)。

我的问题如下:

假设我有一个数组/字符串列表 {" myString1" ,"我的String1" ," my-String-1" ......} 我希望算法能够指出这种可能性非常高 所有这些值都表示" myString1 "。

所以我想压缩我的清单。 也许这可以用KMP完成,也可能有更合适的东西。

感谢。

2 个答案:

答案 0 :(得分:1)

我认为Edit distance是合并字符串的良好启发式方法。

修改

您可以修改编辑距离算法:

您可以为字符c的d( - ,c)赋予不同的值。

所以在下面的例子中:“String1”,“String2”,你可以“惩罚”分数但让d(1,2)高,而“String 1”,“String1”则不会因为分数为d( - ,'')而受到惩罚。

答案 1 :(得分:0)

或者,Approximate string matching可能有用。我不相信KMP会适合这个目的,因为它是为精确的子串匹配而设计的