中国程序员联盟 正在重新改版中ing 不便之处还请见谅 改版后将内容涉及java delphi .net php
 
  首页 | 数据库开发 | 网络通讯 | 多线程 | 多媒体开发 | 图像处理 | 程序人生 | 系统函数 | 控件开发 | Web服务
 
  当前位置:笨鱼delphi技术网>数据库开发>开发应用>文章内容

delphi 字符相似性函数

来源:站内 关于:bill 发布时间:2007-06-22   [收藏] [推荐]

SOUNDEX(char_expr)  比较两个字符串的相似性后返回一个四位数代码。
DIFFERENCE(char_expr1,char_expr2) 比较两个字符串,返回值从0到4,4为最优匹配。
Delphi没有可用的函数,我写了一个:
function MaxMatchStr(DestStr:String;Strs:array of String):String;
var
  I:Integer;
begin
  Result:='';
  for I:=1 to Length(Strs) do
   
//如果与目标匹配
    if (Pos(Strs[I],DestStr)>0) and
   
//而且比现在找到的结果更长
       (Length(Strs[I])>Length(Result)) then
   
//替换当前结果
      Result:=Strs[I];
end;

演示:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Caption:=MaxMatchStr('123456789',
                       ['1',
                        '12',
                        '123',
                        '1234',
                        '12345',
                        '123456',
                        '1234567',
                        '12345678',
                        '123456789']);
end;
////////////////////////////////////////////////////////////////////////////
Function CompChar(Str1,Str2:String):integer;
var TempStr:String;
    i,j:Integer;
Begin
  result:=0;
  if Length(str2)>Length(str1) then begin
    tempstr:=str1;
    str1:=str2;
    str2:=tempstr;
  end;
  for i:=length(Str1) downto 1 do
    for j:=1 to Length(Str1)-i+1 do
      if (Pos(copy(Str1,j,i),Str2)>0)and(result<i) then result:=i;
end;


[浏览: 次]   
上一篇:delphi 使用SQL字段模糊查询   下一篇:delphi MTS组件——从理论到实践
[收藏] [推荐] [返回顶部] [打印本页] [关闭窗口]  
    评论加载中…
google adsense热点文章
·delphi Delphi_三谈多态——善用virtua
·delphi 条形码处理
·delphi Delphi_三层开发基本概念介绍
·delphi 汉字转拼音码(上)
·delphi Olevariant
·delphi CS构架下的客户端自动更新程序
·delphi 在Dephi中使用TStream读写数据
·delphi 汉字转拼音码(下)
·delphi delphi处理流
·delphi 关于使用COM对象的方法
·delphi MTS组件——从理论到实践
·delphi 汉字转拼音码(中3)
     delphi技术网 | firefox 下载 | Avant Browser下载 | dedecms 技术网 | drupal 爱好者 | php 技术网
  Copyright@www.delphichm.com,2006-2009.All Rights Reserved.
 
程序员联盟 | delphi Java .net|QQ:707102932