为了账号安全,请及时绑定邮箱和手机立即绑定

获取最接近的字符串匹配

获取最接近的字符串匹配

获取最接近的字符串匹配我需要一种方法来比较多个字符串和一个测试字符串,并返回与它非常相似的字符串:TEST STRING: THE BROWN FOX JUMPED OVER THE RED COW CHOICE A   : THE RED COW JUMPED OVER THE GREEN CHICKEN CHOICE B   : THE RED COW JUMPED OVER THE RED COW CHOICE C   : THE RED FOX JUMPED OVER THE BROWN COW(如果我这样做是正确的)与“test String”最接近的字符串应该是“selectionC”。做这件事最简单的方法是什么?我计划将其实现为多种语言,包括VB.net、Lua和JavaScript。此时,伪代码是可以接受的。如果你能为一种特定的语言提供一个例子,这也是值得赞赏的!
查看完整描述

3 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

我质疑选择B更接近测试字符串,因为从原来的字符串中只有4个字符(和2个删除)。而你认为C更接近,因为它包括棕色和红色。然而,它将有一个更大的编辑距离。

有一个算法叫做Levenshtein距离它测量两个输入之间的编辑距离。

这里是那个算法的工具。

  1. 选择A为15的距离。
  2. 选择B为距离为6。
  3. 选择C为9的距离。

编辑:对不起,我一直在levenshtein工具中混合字符串。更新以更正答案。


查看完整回答
反对 回复 2019-07-11
  • 3 回答
  • 0 关注
  • 698 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信