String
Pessoal,
Alguém sabe qual função devo usar para saber quantas vezes uma caracter aparece em uma string?
Obrigada.
Fernanda
Alguém sabe qual função devo usar para saber quantas vezes uma caracter aparece em uma string?
Obrigada.
Fernanda
Feberaldo
Curtidas 0
Respostas
Skaarj
07/04/2004
Usando o mesmo processo da contagem de palavras de um StringList.. Joga-se cada letra como se fosse uma palavra:
var Palavras: TStringList; Index,i,cont,j: Integer; texto : String; begin texto := Edit1.Text; Palavras := TStringList.Create; try cont:=0; i:=1; for j:=0 to length(texto) do begin Palavras.Add(texto[j]); end; Palavras.Sort; if Palavras.Find(´i´, Index) then begin inc(cont); i:=index; while Palavras.Strings[i] = ´i´ do begin inc(cont); inc(i); end; label1.caption:=inttostr(cont); end; finally Palavras.Free; end;
GOSTEI 0
Marcelo Saviski
07/04/2004
tente assim:
A função passa por todos os caracteres e verifica se é o caracter epecificado, se for, incrementa o contador de quantas vezes o caracter se repete.
[color=blue:0a6a47c988]Exemplo de uso[/color:0a6a47c988], Inclua um Edit:
ShowMessage(´Nº de vezes que o caracter ´_´ aparece no Edit = ´ + IntToStr(ContaCaracteres(Edit1.Text, ´_´)));
function ContaCaracteres(Texto: string; Caracter: Char): Integer; var I: Integer; begin Result := 0; for I := 1 to Length(Texto) do if Texto[I] = Caracter then Inc(Result); end;
A função passa por todos os caracteres e verifica se é o caracter epecificado, se for, incrementa o contador de quantas vezes o caracter se repete.
[color=blue:0a6a47c988]Exemplo de uso[/color:0a6a47c988], Inclua um Edit:
ShowMessage(´Nº de vezes que o caracter ´_´ aparece no Edit = ´ + IntToStr(ContaCaracteres(Edit1.Text, ´_´)));
GOSTEI 0
Thomaz_prg
07/04/2004
function contachar( frase:string ; qch:string):integer
var
tm,i,qtd:integer;
begin
tm:=length(string);
qtd:=0;
for i:=1 to tm do
if copy(frase,i,1)=qch then
qtd:=qtd+1;
result:= qtd;
end;
sintaxe: contachar( <StringAVerificar> , <CaracterAProcurar> );
Retorno: Valor Inteiro Referente a Quantidade de Vezes que <CaracterAProcurar> apareceu em <StringAVerificar>.
Exemplo de Uso
qvezes:=contachar(´sistema de delphi´,´e´);
O valor de qvezes será 3, pois o caracter ´e´ apareceu 3 vezes na string.
Espero ter ajudado!
var
tm,i,qtd:integer;
begin
tm:=length(string);
qtd:=0;
for i:=1 to tm do
if copy(frase,i,1)=qch then
qtd:=qtd+1;
result:= qtd;
end;
sintaxe: contachar( <StringAVerificar> , <CaracterAProcurar> );
Retorno: Valor Inteiro Referente a Quantidade de Vezes que <CaracterAProcurar> apareceu em <StringAVerificar>.
Exemplo de Uso
qvezes:=contachar(´sistema de delphi´,´e´);
O valor de qvezes será 3, pois o caracter ´e´ apareceu 3 vezes na string.
Espero ter ajudado!
GOSTEI 0