STRINGLIST

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 ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值