Ir ao topo

Tecnobyte

Logomarca da Tecnobyte
Contato por WhatsApp

WhatsApp

(69) 3421-6756

Contato por Telefone

(69) 3421-6756

(69) 3421-6757

Enviar mensagem

Enviar

mensagem

Contato por Facebook

Facebook

Vídeos

Vídeos

Atendimento de segunda a sexta, das 08h00 às 19h00 (horário de Brasília).

Banner

Delphi - Outros

Como excluir todas as ocorrências de um caractere de uma string?

Inclua na seção uses: SysUtils
Problema:

Em determinados casos gostaria de poder eliminar alguns 
caracteres indesejados que os usuários podem digitar, tais
como pontos, aspas, etc. Como fazer isto?

Solução:

Na função abaixo, o primeiro parâmetro é o caractere a ser
eliminado e o segundo parâmetro é a string, donde o caractere
será eliminado. 

function DeleteChar(const Ch: Char; const S: string): string;
var
  Posicao: integer;
begin
  Result := S;
  Posicao := Pos(Ch, Result);
  while Posicao > 0 do begin
    Delete(Result, Posicao, 1);
    Posicao := Pos(Ch, Result);
  end;
end;

=== Exemplo de uso ===

- Coloque um Edit e um Button.
- Programe o OnClick do botão conforme abaixo:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text := DeleteChar('"', Edit1.Text); { Exclui aspas }
  Edit1.Text := DeleteChar('.', Edit1.Text); { Exclui pontos }
end;

Observações

Para eliminar vários caracteres poderíamos escrever uma função que fizesse toda a tarefa numa única chamada.

O conteúdo desta página pode ajudar alguém? Compartilhe!