3

我有一个名称列表,一些代码会检查该名称以查看该人是否存在,如果存在则做一些事情..

我的问题是我想处理名称输入错误的情况。即我有一个名称列表

Bob
Frank
Tom
Tim
John

如果我输入 Joohn,我想让它问我是不是指 John。如果我输入 Tm,我会被问到我是否指的是 Tim,如果我说不是,它会询问我是否指的是 Tom.. 等等。

有没有人做过这样的事情?

4

3 回答 3

6

如果名称没有出现在列表中,您可以使用Levenshtein distanceSoundex等算法来确定列表中的哪些条目最接近并建议那些

于 2010-04-19T06:21:08.517 回答
1

首先是在列表中查看是否有完全匹配。如果不是,则计算用户输入的单词与列表中每个元素之间的Levenshtein 距离。你建议最低的那个。

于 2010-04-19T06:23:17.410 回答
0

如果您不想局限于人员列表并想搜索常用名称,您可以使用 Google API 服务提交拼写检查请求,并收到建议的拼写更正查询:

http://www.sitepoint.com/blogs/2004/03/10/check-your-spelling-with-google/

于 2010-04-19T06:30:56.423 回答