【发布时间】:2014-08-13 23:41:22
【问题描述】:
假设我有 2 个字符串:
string1 = "abcdef"
string2 = "12abcdef21"
我正在寻找一段代码来分析这两个字符串并给出它们相似程度的百分比(使用字符数)。类似的部分是“abcdef”,因此是匹配的字符串的连续部分,而不是单个字符。
提前致谢。
编辑:
我真正想做的是找到重复的文件。 我有两个大小相同的文件,我想检查它们是否也有相似的名称。 有什么想法可以做到吗?
【问题讨论】:
-
网上必须有可用的算法。例如,this page 看起来很相关。
-
en.cppreference.com/w/cpp/string/basic_string/findThat's one of my always accessible browser tabs。在那里查找通常比在 SO 上写一个(有效的)问题要快。
-
@qla_alp 你的意思是关于相似度的两个字符串的最大公共子字符串吗?
-
感谢大家的回复。我会查看链接,看看是否找到可以使用的东西。
-
@VladfromMoscow 是的,找到最大的公共子字符串,然后将其大小除以我要检查的字符串的大小。
标签: c++ string string-matching