9

我有一个机场名称列表,我的用户可以输入一个机场名称来选择它以进行进一步处理。

您将如何处理拼写错误的名称并提供建议列表?

4

8 回答 8

7

查找Levenshtein 距离以匹配给定用户输入的正确名称。

于 2009-03-30T17:34:21.983 回答
4

http://norvig.com/spell-correct.html
做了类似 levenshtein 的事情,但是因为他没有一路走下去,所以效率更高

于 2009-03-30T21:28:06.540 回答
1

在您的代码中使用拼写检查。单词列表应仅包含正确的机场拼写。

这不是一个很好的方法。您应该选择提供自动完成选项的控件或其他人建议的下拉菜单。

如果您的技术支持,请使用 AJAX。

于 2009-03-30T17:42:35.410 回答
1

我知道这不是您所要求的,但如果这是一个需要正确机场的应用程序(例如预订机票),那么您可能需要一个确认阶段以确保您拥有正确的机场。例如,有些人买错了悉尼的票。

于 2009-03-31T15:29:37.687 回答
0

让用户从机场名称列表中选择而不是让他们自己输入可能会更好。这样就不会犯错。

于 2009-03-30T17:35:30.967 回答
0

虽然它不会立即提供帮助,但您可以跟踪拼写错误,并在输入正确名称时查看他们最终输入的名称。这样您就可以跟踪最常见的拼写错误,并提供最佳选择。

于 2009-03-30T17:35:53.320 回答
0

除了 Kevin 的建议之外,如果您使用带有 javascript 自动完成功能的输入框,这可能是两全其美的选择。比如jquery自动完成

编辑:丹麦打败了我:(

于 2009-03-30T19:27:19.747 回答
0

您可以使用现有的拼写检查库。做好这类事情的代码并不简单。如果您确实想自己编写,您可能需要查看字典 trie's

一种可能有效的方法是只生成大量可能的错误词及其更正(这里是Python 中的实现),您可以将其缓存以获得更高的性能。

于 2009-03-30T21:18:16.203 回答