Como localizar um string dentro de outra, e remover?

17/12/2003

1

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...


Responder

Posts

17/12/2003

Diogoalles

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


Responder

17/12/2003

Cebikyn

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 , ´´);



Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira