DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Como contar o número de ocorrências de um texto dentro de uma String?

Abaixo segue uma função que conta o número de vezes em que uma substring é
encontrada dentro de uma string.

É necessário estar declarado SysUtils na seção uses,
em versões unicode declare System.SysUtils.

Segue o código fonte da função:

1
2
3
4
5
6
7
8
9
function CountPos(const subtext: string; Text: string): Integer;
begin
  if (Length(subtext) = 0) or (Length(Text) = 0) or (Pos(subtext, Text) = 0)
  then
    Result := 0
  else
    Result := (Length(Text) - Length(StringReplace(Text, subtext, '',
      [rfReplaceAll]))) div Length(subtext);
end;

Exemplo de uso:

1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.Button1Click(Sender: TObject);
var
  teste : String;
  vCount : Integer;
begin
  teste := 'O Show Delphi é uma comunidade que quer compartilhar' +
     ' conhecimento sobre o Delphi.';
  vCount := CountPos('Delphi', teste);
 
  ShowMessage('Delphi foi encontrado ' + IntToStr(vCount) + ' vez(es)!' );
end;
Facebook Comments Box
  • InfusTec
  • 17.273 views
  • 1 comentários
  • 13 de abril de 2015

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

Uma resposta para “Como contar o número de ocorrências de um texto dentro de uma String?”

  1. Fábio M Valente disse:

    Muito Boa esta solução, só tinha encontrado utilizando while`s ou For`s duas ou mais vezes e não estava gostando da solução, Esta ficou perfeita e inclui um caseSensitive para complementar. Obrigado por compartilhar!

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados