我有一个机场名称列表,我的用户可以输入一个机场名称来选择它以进行进一步处理。
您将如何处理拼写错误的名称并提供建议列表?
我有一个机场名称列表,我的用户可以输入一个机场名称来选择它以进行进一步处理。
您将如何处理拼写错误的名称并提供建议列表?
查找Levenshtein 距离以匹配给定用户输入的正确名称。
http://norvig.com/spell-correct.html
做了类似 levenshtein 的事情,但是因为他没有一路走下去,所以效率更高
在您的代码中使用拼写检查。单词列表应仅包含正确的机场拼写。
这不是一个很好的方法。您应该选择提供自动完成选项的控件或其他人建议的下拉菜单。
如果您的技术支持,请使用 AJAX。
我知道这不是您所要求的,但如果这是一个需要正确机场的应用程序(例如预订机票),那么您可能需要一个确认阶段以确保您拥有正确的机场。例如,有些人买错了悉尼的票。
让用户从机场名称列表中选择而不是让他们自己输入可能会更好。这样就不会犯错。
虽然它不会立即提供帮助,但您可以跟踪拼写错误,并在输入正确名称时查看他们最终输入的名称。这样您就可以跟踪最常见的拼写错误,并提供最佳选择。
除了 Kevin 的建议之外,如果您使用带有 javascript 自动完成功能的输入框,这可能是两全其美的选择。比如jquery自动完成
编辑:丹麦打败了我:(
您可以使用现有的拼写检查库。做好这类事情的代码并不简单。如果您确实想自己编写,您可能需要查看字典 trie's。
一种可能有效的方法是只生成大量可能的错误词及其更正(这里是Python 中的实现),您可以将其缓存以获得更高的性能。