我想实现把一串数字 如 1225200132456588 每隔2位加一个, 变成  12,25,20,01,32,45,65,88 首尾不要加,    如何实现啊?我试了几种方法没有实现,请帮助,谢谢

解决方案 »

  1.   


    procedure TForm1.Button1Click(Sender: TObject);
    var
      s,s1:string;
    begin
      s := '1225200132456588';
      s1 := '';
      while Length(s) > 0 do
      begin
        s1 := s1+Copy(s,1,2)+',';
        Delete(s,1,2);
      end;
      if s1 <> '' then
        Delete(s1,Length(s1),1);
      ShowMessage(s1);
    end;
      

  2.   

    procedure XXOO(s1:string;var s2:string);
    begin
      s2:=s2+Copy(s1,1,2)+',';
      if Length(s1)>2 then
         XXOO(Copy(s1,3,Length(s1)-2),s2)
      else
         delete(s2,Length(s2),1);
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      s:string;
    begin
      XXOO('1225200132456588',s);
      showmessage(s);
    end;
      

  3.   

    一楼三楼都可以实现这个功能,但是我从memo.text取值后,如memo每行分别为01  02  03  04后用上述方法加分割后会出现01,,02,,03,,04这种情况,就是数字之间会多出一个,  不是我想要的01,02,03,04  这是怎么回事,是不是memo.text中带来的,这个符号