如题

解决方案 »

  1.   

    var
       str1,str2:string;
       str3:string;
    begin
       str1:='123456';
       str2:='abc';
       //现将str1中的‘345’换为str2
       str3:=copy(str1,1,2);
       str3:=str3+str2;
       str3:=str3+copy(str1,6,1);
       则str3为替换后的字符串
    end;
      

  2.   

    笨办法function strreplace(s:string,sub:string,ins:string):string;
    var
      i,n:integer;
    begin
       n:=length(s);
       i:=pos(s,sub);
       if i>0 then
       begin
         delete(s,i,n);
         Result:=insert(ins,s,i);  
       end 
       else showmessage('要替换字符串未找到!');
    end;比如: ABC123GHI 中把123替换成DEF
    strreplace('ABC123GHI','123','DEF')就可以了
      

  3.   

    上面s:=length(s)改为n:=length(sub)
      

  4.   

    function AnsiReplaceText(const AText, AFromText, AToText: string): string; 
    功能 返回字符串AText中用子串AFromText替换成子串AToText的结果
    说明 不区分大小写
    例子 Edit4.Text := AnsiReplaceText(Edit1.Text, Edit2.Text, Edit3.Text);
      

  5.   

    type
      TReplaceFlags = set of (rfReplaceAll, rfIgnoreCase);function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;
      

  6.   

    上面的是错的,不好意思,俺也是“新菜”。function strreplace(s:string,sub:string,ins:string):string;
    var
      i,n:integer;
      t:string;
    begin
       t:=s;
       n:=length(sub);
       i:=pos(t,sub);
       if i>0 then
       begin
         delete(t,i,n);
         insert(ins,t,i);
         Result:=t;  
       end 
       else showmessage('要替换字符串未找到!');
    end;比如: ABC123GHI 中把123替换成DEF
    strreplace('ABC123GHI','123','DEF')就可以了