【发布时间】:2014-07-14 18:55:34
【问题描述】:
我的要求是能够匹配两个相似但不完全匹配的字符串。 例如,给定以下字符串
- 名字
- 姓氏
- LName
- FName
输出应该是 FirstName、FName 和 Last Name、LName,因为它们是逻辑匹配。有没有我可以用来执行此操作的库?我正在使用 JAVA 来实现此功能。
谢谢 拉姆
【问题讨论】:
-
关键字是模糊字符串匹配。虽然我不熟悉 Java 中的通用功能或内置功能,但我确实找到了这个:stackoverflow.com/questions/327513/fuzzy-string-search-in-java
-
也称为“编辑距离”。
-
值得注意的是,Levenshtein Distance 并不是这里的答案。如果您正在寻找具有最小 Levenshtein 距离的对,您会将“LName”与“FName”匹配,将“First Name”与“Last Name”匹配。所以无论你采用什么方法,为了得到你想要的匹配,它必须是不同于 Levenshtein Distance。
-
@DavidWallace 我的想法。对我来说听起来像是旧的 soundex 函数,但它对于英语以外的其他语言来说很糟糕。
-
好电话@DavidWallace 我误读了这个问题,并假设 First Name、Last Name、LName 和 FName 是标识符而不是实际值。