C ++字符串比较[重复]
Posted
技术标签:
【中文标题】C ++字符串比较[重复]【英文标题】:C++ String Comparisons [duplicate] 【发布时间】:2011-10-26 17:19:29 【问题描述】:可能重复:string comparison with the most similar string
我想知道比较两个字符串(对于一定百分比的)相似性的最佳方法是什么。例如:字符串 1 是“我真的很喜欢吃派”,字符串 2 是“我真的很喜欢吃奶酪”,因为超过 50% 的字符相似,所以函数返回“true”。
我在想我可以查看一个字符串中的每个字符是否在另一个字符串中的某个位置,但可能有一种更精确的方法来处理事情。有什么建议吗?
【问题讨论】:
【参考方案1】:Levenshtein distance 可能是合适的。它说明必须进行多少单字符插入、删除或替换才能将一个字符串转换为另一个字符串。您还可以为这三个操作赋予不同的优先级。
【讨论】:
确实,请参阅我链接的重复问题。【参考方案2】:对于像这样的模糊比较,您可以将每个字符串拆分为单词(使用 strtok())并使用 stricmp() 比较两个单词数组(不区分大小写)。还有 SOUNDEX 算法来比较单词,看看它们听起来是否相同。
【讨论】:
以上是关于C ++字符串比较[重复]的主要内容,如果未能解决你的问题,请参考以下文章