如何对两个字符串进行匹配度的检验并给出建议?

黄金安魂曲 2011-03-10 04:50:13
现在开发系统遇到这样一个问题。系统中有一个客户管理模块,允许操作者添加客户信息。现在,具有添加客户权限的操作者有很多,对于同一个客户,各自有不同的理解。举例来说,假设客户叫做“常州解放路小学”,那么A操作者就是以这个名字将客户添加到系统中去。但是B操作者,并没有和A操作者沟通,他也想添加客户,并且,在B操作者理解中,将这个客户定义为“江苏常州解放路小学”。

很显然,无论是A操作者还是B操作者,都是指代的一个相同的客户。

我希望,在B操作者添加客户的时候,系统能够检索数据库中已有的客户信息,并给B操作者一个提示。假设现在B操作者输入了“江苏常州解放路小学”。那么系统会告诉他,已经存在一个叫做“常州解放路小学”的客户,询问B客户是否依然保存。请大家给一个算法,或者是思路,怎么解决这个问题。

当然,上面仅是举例。B客户也许会输入“常州解放路附小”,或者是其他的文字。我就想知道,如何对两个字符串进行模糊的匹配,并确定一个合理的权值,在这个权值范围内,给操作者以提示!谢谢大家
...全文
259 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
eEriEs 2011-03-10
  • 打赏
  • 举报
回复
Codeproject上有个c#源码的字符串相似度算法,老挝人写的,不过还不错,呵呵
黄金安魂曲 2011-03-10
  • 打赏
  • 举报
回复
应该不是楼上朋友的解决方法,通过like来匹配这是没有问题的。但是,我们并不知道客户会输入什么样的内容。如同我说的一样,“常州解放路小学”,“江苏常州解放路小学”,也许客户还会输入“常州解放小学”或者是“常州市解放小学”等等,这些字符串是无法通过like来匹配判断的
Return门徒 2011-03-10
  • 打赏
  • 举报
回复
你可以自己定义一个长度,当用户输入多少个字的时候,和数据库进行like,如果有就找出来并提未~!
Return门徒 2011-03-10
  • 打赏
  • 举报
回复
类似字词联想功能

VS里的AutoCompleteExtender这个(好像是吧,好久没用过了)



只不过多了一个提示而已

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧