String 比较Java中的字符串

String 比较Java中的字符串,string,compare,proximity,text-analysis,String,Compare,Proximity,Text Analysis,在Google和StackOverflow中搜索后,我找不到任何关于Java中字符串邻近性比较的资源,我只找到了==和equals之间的差异的结果 你们当中有人知道有哪一个库允许比较两个字符串之间的“接近度”并给出接近度的百分比吗 示例: 汽车和酒吧很近, 鸡和狗很不一样 这样做的目的是能够将用户编写的城市与数据库中的城市进行比较,以避免重复数据。例如,如果用户写“NewYork”,我可以告诉他“你是说“NewYork”吗?” 非常感谢:)我使用了SecondString MongeElkan算

在Google和StackOverflow中搜索后,我找不到任何关于Java中字符串邻近性比较的资源,我只找到了==和equals之间的差异的结果

你们当中有人知道有哪一个库允许比较两个字符串之间的“接近度”并给出接近度的百分比吗

示例: 汽车和酒吧很近, 鸡和狗很不一样

这样做的目的是能够将用户编写的城市与数据库中的城市进行比较,以避免重复数据。例如,如果用户写“NewYork”,我可以告诉他“你是说“NewYork”吗?”


非常感谢:)

我使用了SecondString MongeElkan算法,你也可以看看Lucene的算法


Google搜索“nlp单词相似性”感谢您的回答,但nlp并不是用于查找同义词或分析词义的封闭词?Wordnet描述:“Wordnet®是一个大型英语词汇数据库。名词、动词、形容词和副词被分成认知同义词集(synset)“实际上,我只想按字符比较紧密字符串,而不是按意义比较。有什么想法吗?我用Levenshtein距离算法来帮助找到这个话题的人。这不是我认为最好的,但它符合我的需要。它在StringUtils中提供,可能对这里感兴趣