Como localizar um string dentro de outra, e remover?

Delphi

17/12/2003

Olá, tenho uma string.. gostaria de saber como faço pra localizar um string dentro dela, e remover ela desta string primaria...

Desde ja agradeço...


Titanius

Titanius

Curtidas 0

Respostas

Diogoalles

Diogoalles

17/12/2003

uitlize a seguinte função, que localiza o q vc quer dentro de um Rich , poderia ser um memo, e substitui por outra

Procedure FindReplace (const Enc, subs: String; Var Texto: TRichEdit);
Var
  i, Posicao: Integer;
  Linha: string;
begin
  For i:= 0 to Texto.Lines.count - 1 do
  begin
    Linha := Texto.Lines[i];
    Repeat
      Posicao:=Pos(Enc,Linha);
      If Posicao > 0 then
      Begin
      Delete(Linha,Posicao,Length(Enc));
      Insert(Subs,Linha,Posicao);
      Texto.Lines[i]:=Linha;
    end;
    until Posicao = 0;
  end;
end;


aí no clique de um botão vc pode inserir a chamada da função
procedure TFrm001.Button1Click(Sender: TObject);
begin
  FindReplace(´O Texto q vc quer substituir´,´pelo novo valor´, RichEdit1);
end;


como vc quer remover uma string, localize ela e substitua por ´´, que é o valor nulo.

abraço

Diogo


GOSTEI 0
Cebikyn

Cebikyn

17/12/2003

Tem funções no Delphi que fazem isso, mas eu recomendo usar as units do FastStrings, que fazem este tipo de coisa muito mais rápido que qualquer função do Delphi:

http://www.droopyeyes.com/default.asp?mode=ShowProduct&ID=4

As units são gratuitas.

Exemplo:

StringFinal := FastReplace( StringOriginal , StringParaLocalizar , ´´);



GOSTEI 0
POSTAR