c++ - 如何使用 Levenshtein 距离字符串度量

标签 c++ string levenshtein-distance

好吧,我有点理解这在理论上是如何使用的,但我实际上如何将它放入程序中,因为我看到的所有示例都不在代码中我不要求代码写出一点提示让我朝着正确的方向前进,所以在下面的例子中

#include<string>
#include< iostream>

using namespace std;

string User = " Hey how are you ";

int main()
{
 if( User == " how are you")
   { 
     cout << " Hello" << endl;
   }
  else
    {
     cout<< " unknown input" << endl;
    }
}

我如何将 Levenshtein 距离放入该程序中,以便即使“嘿”位于其余部分的前面,程序仍会将其读取为正确的输入。

最佳答案

您可以使用该算法确定两个字符串之间的编辑距离,如果该距离小于某个阈值,您将认为它是匹配的。诀窍是确定阈值。

我没有玩过这么多,但想到的一个选择是,如果编辑距离小于两个字符串中最长字符串的长度的特定百分比,则认为匹配。不是很科学,但可以作为进一步研究的起点。

关于c++ - 如何使用 Levenshtein 距离字符串度量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23462197/

相关文章:

c++ - 常量字符* a[4];我可以更改 a[] 值吗?

arrays - C 中将字符串拆分为字母和数字的函数

mysql - 如何统计数据库中重复记录的数量?

tsql - T-SQL 中的编辑距离

c++ - Openmp:所有线程由于一个线程的延迟而停止

c++ - 用于设置相关类属性的 map 的合理键类型?

c++ - 跟踪 Lua 中的变量以读取访问权限以启动用户定义的 C++ 方法/函数

python - 如何读取字符串、转换为正则表达式并编译它?

python - 如何在python中将一个字符串切割成一对字符串

php - mysql函数的返回结果