【问题标题】:Is there a C++ function to check similarity between strings?是否有 C++ 函数来检查字符串之间的相似性?
【发布时间】:2014-06-03 23:25:06
【问题描述】:

是否有一个 c++ 标准函数可以通过返回例如相似字符的数量来检查两个字符串参数之间的相似性。

【问题讨论】:

  • 相似是什么意思?
  • “相似字符的数量”是什么意思?
  • 您是否正在寻找类似 Levenshtein Distance (en.wikipedia.org/wiki/Levenshtein_distance) 的东西?对此没有标准功能,但我相信您可以在某处找到实现。
  • 您可能正在寻找edit distance,编辑距离的定义有很多,Levenshtein 距离是最常见的一种,但它们之间的相似之处在于它们都没有标准库。

标签: c++ string c++-standard-library


【解决方案1】:

不,没有。您可以在cppreference.com 查看所有标准 C++ 函数。在那里你会看到the basic_string type has nothing like thatthe algorithms library has nothing like that,而且几乎没有其他地方可以放置这样的东西,所以,没有。

【讨论】:

  • 最接近的是排序两次,然后是set_difference
【解决方案2】:

您可以为字符串的每个字符执行this

从链接中提取

#include <algorithm>

std::string s = "a_b_c";
size_t n = std::count(s.begin(), s.end(), '_');

没有像您需要的那样计算相似度的功能。

【讨论】:

    猜你喜欢
    • 2019-04-18
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多