【发布时间】:2021-10-22 22:35:32
【问题描述】:
我正在尝试实现某种最简单的拼写检查器来找出并纠正简单的拼写错误。我正在寻找一种方法,如果可能的话,可以帮助我在 C# 中找到我的字符串 最近的字符串!
例如:
string source = "gnail"; // simple typo: 'n' instead of 'm'
List<string> KnownWords = new List<string> {
"orange",
"gmail", // <- the best fit for source: just one (edit) letter away
"hotmail", // <- drop two letters, edit one leeter
"live",
"outlook"
};
预期结果:
"gmail"
输出应该是"gmail",因为"gmail" 距离source ("gnail") 仅一个字母(一个编辑距离)
提前致谢!
【问题讨论】:
-
你有没有尝试过?如果输入字符串是“nail”,预期输出是 hotmail 还是 gmail?
-
您可以计算从
s到L中所有其他单词的编辑距离,并将具有最短距离的单词作为回答 -
这能回答你的问题吗? Detect differences between two strings
-
@PrasadTelkikar 你是对的,但在这种情况下,他应该计算字符数以找出“gmail”是最近的!