我有一个名称列表,一些代码会检查该名称以查看该人是否存在,如果存在则做一些事情..
我的问题是我想处理名称输入错误的情况。即我有一个名称列表
Bob
Frank
Tom
Tim
John
如果我输入 Joohn,我想让它问我是不是指 John。如果我输入 Tm,我会被问到我是否指的是 Tim,如果我说不是,它会询问我是否指的是 Tom.. 等等。
有没有人做过这样的事情?
我有一个名称列表,一些代码会检查该名称以查看该人是否存在,如果存在则做一些事情..
我的问题是我想处理名称输入错误的情况。即我有一个名称列表
Bob
Frank
Tom
Tim
John
如果我输入 Joohn,我想让它问我是不是指 John。如果我输入 Tm,我会被问到我是否指的是 Tim,如果我说不是,它会询问我是否指的是 Tom.. 等等。
有没有人做过这样的事情?
如果名称没有出现在列表中,您可以使用Levenshtein distance和Soundex等算法来确定列表中的哪些条目最接近并建议那些
首先是在列表中查看是否有完全匹配。如果不是,则计算用户输入的单词与列表中每个元素之间的Levenshtein 距离。你建议最低的那个。
如果您不想局限于人员列表并想搜索常用名称,您可以使用 Google API 服务提交拼写检查请求,并收到建议的拼写更正查询:
http://www.sitepoint.com/blogs/2004/03/10/check-your-spelling-with-google/