Compter le nombre de mots dans une chaîne
Par Delphi Source - March 22, 2026 · Vues: 14 · Catégories: Snippets · Tags: #Texte

Compter le nombre de mots dans une chaîne

Voici une petite fonction simple et efficace pour compter le nombre de mots dans un texte.

L’idée est d’utiliser un TStringList configuré avec un espace comme séparateur, puis d’ignorer les entrées vides après un Trim.

function CountWords(const Texte: string): Integer;
var
  ListeMots: TStringList;
  I: Integer;
  Mot: string;
begin
  ListeMots := TStringList.Create;
  try
    ListeMots.Delimiter := ' ';
    ListeMots.DelimitedText := Texte;
    Result := 0;
    for I := 0 to ListeMots.Count - 1 do
    begin
      Mot := Trim(ListeMots[I]);
      if Mot <> '' then
        Inc(Result);
    end;
  finally
    ListeMots.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(IntToStr(CountWords('Voici un exemple de texte')));
end;


Un petit clic (J'aime) qui fait plaisir !