String a = 'string'
String b = 'This is a strin'
println b.containsSimilarity(a)
有没有在Groovy像想象containsSimilarity一个函数,它说串的差异,所以 我想在 搜索“字符串”“这是一个〜应变”和比较后,说83%字符串“字符串”被发现在“这是一个字符串”。 喜欢的东西的断言在使用斯波克一个字符串是其他字符串的一部分的多少个百分比?
断言 “串” == “字符串”
结果是:
“串” == “〜应变” | 假 1差(83%的相似性) 〜应变(G) 〜应变( - )
我怎么能在Groovy做到这一点?所以不比较两个字符串,而是找字符串一个的多大一部分被包含在字符串b。如果a是b - > true的一部分,否则为false并打印相似度百分比,并显示差异在哪里。
这是不是与Levenshtein距离有关?也许[这个stackoverflow问题](http://stackoverflow.com/questions/6087281/similarity-score-levenshtein)有答案 – Will
没有。我的字符串b很长,我想搜索它的一小部分。所以,如果我的字符串b为英文字母,和一个字符串是比较 - 我想造成100%后,“W”,但莱文斯坦或哈罗 - 沃克这将是0.03%或更少。 – Xelian
这里有一种方法https://blog.nishtahir.com/2015/09/19/fuzzy-string-matching-using-cosine-similarity/ 更多相关会在看https://stackoverflow.com/questions/955110 /相似性字符串比较,在Java的 –