STRINGLIST

来源:互联网 发布:python bool类型 编辑:程序博客网 时间:2024/06/07 19:05
Function NumOK(S:string):boolean;    // 单字节数字
var I:integer;
begin
  NumOK:=True;
  for i:=1 to Length(S) do
  begin
    Case Ord(S[I]) of
      48..57 :  ;           //  0123456789
    else
      NumOK:=False;
    end;
  end;
end;
 
 
procedure GetMyString(S:string;var s1,s2,s3:sting);
var
  sL: TStringList;
  sAdd,sName,sTel: string;   
begin
  sL:= TStringList.Create;
  sL.Delimiter:= ' ';
  sL.DelimitedText:=Trim(S);
  S1:= sL[0];               // 地址
  S2:= sL[1];               // 姓名
  S3:= sL[2];               // 电话
  sL.Free;
  if NumOK(S1) then begin
    sTel:=S1;
    if length(S2)>length(S3)
      then begin
        sAdd:=S2;
        sName:=S3
      end
      else begin
        sAdd:=S3;
        sName:=S2
      end;
  end;
  if NumOK(S2) then begin
    sTel:=S2;
    if length(S1)>length(S3)
      then begin
        sAdd:=S1;
        sName:=S3
      end
      else begin
        sAdd:=S3;
        sName:=S1
      end;
  end;
  if NumOK(S3) then begin
    sTel:=S3;
    if length(S1)>length(S2)
      then begin
        sAdd:=S1;
        sName:=S2
      end
      else begin
        sAdd:=S2;
        sName:=S1
      end;
  end;
  S1:=sAdd;
  S2:=sName;
  S3:=sTel;
end;
 
//调用
var S,sAdd,sName,sTel:string;
begin
  S:='上海市嘉定区人民路100号 万宇豪 13155558888';
//  S:='万宇豪 13155558888 上海市嘉定区人民路100号';
//  S:='13155558888 上海市嘉定区人民路100号 万宇豪';
  GetMyString(S,sAdd,sName,sTel);
  Showmessage(sAdd);  // 上海市嘉定区人民路100号
  Showmessage(sName); // 万宇豪
  Showmessage(sTol);  // 13155558888
end;
原创粉丝点击