字附串替换问题?
字附串1:0000000000
字附串2:12
字附串3:ABC
字附串2替换字附串1的第一、二位得12000000000
字附串3替换字附串1的第三、四、五位得12ABC000000
有什么好办法?

解决方案 »

  1.   

    s1,s2,s3,s:string;
    begin
      s1:='0000000000';
      s2:='12';
      s3:='ABC';
      s:=s1;
      s:=s2+copy(s,Length(s2),Length(s)-Length(s2));
      s:=s2+s3+copy(s,Length(s2)+Length(s3),Length(s)-Length(s2)-Length(s3));
      ShowMessage(s);
    end;
      

  2.   


    procedure TForm1.Button1Click(Sender: TObject);
    var
    s,s2,s3,s4:string;
    begin
       s:='0000000000';
       s2:='12';
       s3:='ABC';
       s4:=s2+s3;
      edit1.Text:=new_str(s,s4);end;function TForm1.NEW_STR(s, s1: string): string;
    begin
     Result:=s1+copy(s,Length(s1),maxint);
    end;
      

  3.   

    简单小小的:procedure TForm1.Button1Click(Sender: TObject);
    var
    s,s2,s3,s4,s5:string;
    begin
       s:='0000000000';
       s2:='12';
       s3:='ABC';
       s4:=s2+s3;
       s5:=s4+copy(s,Length(s4),maxint);
       showMessage(s5)
    end;
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    const
      s1='0000000000';
      s2='12';
      s3='ABC';
    var
      s4: string;
    begin
      s4 := s2+s3+copy(s1,length(s2+s3),length(s1));
      showmessage(s4);
    end;
      

  5.   

    楼上的朋友们可能没有理解我的意思:
    如:有一个两个长度的字附串,来替换别一个字附串的长度的第三、四位字附串。
    S:='0000000000'
    比如S1='123',要从S的第三位开始替换那么替换后的字附S为0012300000;.
    比如S1='abc',要从S的第七位开始替换那么替换后的字附S为000000abc0;
      

  6.   

    用delete和insert来替换
    var
    s1,s2:string;
    begin
    s1:='00000000';
    s2:='123';
    delete(s1,3,2);
    Insert(s2,s1,3);
    ShowMessage(s1);
    end;
      

  7.   

    cxTextEdit1.Text:=123456789a
    cxTextEdit1.Text:=copy(cxTextEdit1.Text,1,3)+'ABC'+copy(cxTextEdit1.Text,7,10)
    除了这样还有没有其办法。
      

  8.   


    function StringFill(S, T: String;  iPos: Integer): String;
    begin
      Result := Copy(S, 1, iPos - 1) + T + Copy(S, iPos + Length(T) - 1, Length(S) - Length(T) - iPos + 1);
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      ShowMessage (StringFill('0000000000', '123', 3));
      ShowMessage (StringFill('0000000000', 'abc', 7));
    end;
      

  9.   

    Procedure ReplaceString(Var Source:string;Dest:string;Num:integer); 
    Var
      i:integer;
      Len:Integer; 
    begin
      Len:=Length(Dest);
      Source:=Copy(Source,1,Num-1)+Dest+Copy(Source,Num+Len,Length(Source)-Num-Len+1);
    end;