Reemplazar todas las ocurrencias de una substring dentro de una string  

Enviado Por: Q3 Team
Web : http://www.q3.nu
Email: dlib@q3.nu
Fecha: 19/01/00

Truco accedido 89 veces

 


El siguiente ejemplo muestra como substituir todas las ocurrencias de una substring dentro de una string.

  • Pon un TLabel (Label1) y un TButton (Button1) en tu form
  • Pon este código dentro del OnCLick de Button1:


     procedure TForm1.Button1Click(Sender: TObject);
    
       function CambiaEn(Cadena, Esto, Por: String): String;
       var
         aPos: Integer;
       begin
         aPos := Pos(Esto, Cadena);
         Result:= '';
         while (aPos <> 0) do begin
           Result := Result + Copy(Cadena, 1, aPos-1) + Por;
           Delete(Cadena, 1, aPos + Length(Esto)-1);
           aPos := Pos(Esto, Cadena);
         end;
         Result := Result+Cadena;
       end;
    
     var
        ParaCambiar:string;
    
     begin
       ParaCambiar:='Un ejemplo en el que cambiar "cambiar"';
       Label1.Caption:=CambiaEn(ParaCambiar,'cambiar','se cambio');
     end;
    





    Para usarlo como Reemplazar en un TMemo:




       Memo1.Text:=CambiaEn(Memo1.Text,'Buscar/To search',
                                       'Cambiar por esto/Change by this');