没有人知道是否存在给定一个字符串A和一个字符串B数组的算法,比较A字符串与B中所有字符串给出的输出中最相似的一个。字符串与最相似字符串的比较
对于“最相似的一个”我的意思是,例如,
如果字符串是:“世界你好你怎么样”
然后
“ASDF asdewr世界你好如何asfrqr你”
比更相似:
“h2ll4 w1111 H11 111 111”
没有人知道是否存在给定一个字符串A和一个字符串B数组的算法,比较A字符串与B中所有字符串给出的输出中最相似的一个。字符串与最相似字符串的比较
对于“最相似的一个”我的意思是,例如,
如果字符串是:“世界你好你怎么样”
然后
“ASDF asdewr世界你好如何asfrqr你”
比更相似:
“h2ll4 w1111 H11 111 111”
通常的测量是Levenshtein distance。计算从原始到每个候选人的Levenshtein距离,并将最小距离作为最可能的候选人。
这里有一个方便的丹迪连接到Levenshtein距离的信息。 http://en.wikipedia.org/wiki/Levenshtein_distance – 2011-05-02 19:49:57
+1链接从http://en.wikipedia.org/wiki/Levenshtein_distance – 2011-05-02 19:50:22
谢谢你们,你们真的很有用 – malilzap 2011-05-02 20:08:34
定义相似性。算法,可以做到这一点包括:
所有这一切都可以通过实施可行性的在C或C++中。谷歌“字符串相似性”,“重复查找”或“记录链接”用于可用的度量和算法。
我觉得在开始选择算法之前,最好以适当的方式定义相似度,你是对的。干杯! – malilzap 2011-05-02 20:07:24
既然你似乎满意答案,你现在可以接受其中之一。 – schnaader 2011-05-04 10:13:11