最近有一项目要求对大量的药品名称和治疗项目进行模糊(相似度)比较,如果用 like %xxx% 之类的无法达到要求,如“奶奶个熊”和“奶妈个熊”,用like之类就无能为力了。网上也有一些国外的字符串相似度比较的算法,但几乎都是针对单字节字符串的比较,典型的例子是MS SQL中的字符串相似度比较函数就是此类,对于双字节的中文无效。
于是做了以下实例,如图:
比较代码引用的是CnStrDiff.pas单元,代码实例可从下面下载。
下载文件
最近有一项目要求对大量的药品名称和治疗项目进行模糊(相似度)比较,如果用 like %xxx% 之类的无法达到要求,如“奶奶个熊”和“奶妈个熊”,用like之类就无能为力了。网上也有一些国外的字符串相似度比较的算法,但几乎都是针对单字节字符串的比较,典型的例子是MS SQL中的字符串相似度比较函数就是此类,对于双字节的中文无效。
于是做了以下实例,如图:
比较代码引用的是CnStrDiff.pas单元,代码实例可从下面下载。