COMPTER COMBIEN DE FOIS IL Y A UNE CHAINE DANS UNE AUTRE

entity666 Messages postés 13 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 novembre 2007 - 18 juin 2003 à 20:25
cgone Messages postés 3 Date d'inscription mercredi 9 octobre 2002 Statut Membre Dernière intervention 10 décembre 2003 - 10 déc. 2003 à 18:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/11823-compter-combien-de-fois-il-y-a-une-chaine-dans-une-autre

cgone Messages postés 3 Date d'inscription mercredi 9 octobre 2002 Statut Membre Dernière intervention 10 décembre 2003
10 déc. 2003 à 18:44
Bonjour,

Le problème est qu'on est toujours obligé de parcourir l'intégralité de la chaine même s'il n'y a aucune occurrence de ce que l'on cherche...

function NbOccurrences(sousChaine : String; chaine : String): Integer;
var
rang, cpt : Integer;
begin
cpt := 0;
rang := Pos(sousChaine, chaine);
while rang <> 0 do
begin
cpt := cpt + 1;
chaine := Copy(chaine,
rang + Length(sousChaine),
Length(chaine) - (rang + Length(sousChaine) - 1));
rang := Pos(sousChaine, chaine);
end;
Result := cpt;
end;
entity666 Messages postés 13 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 novembre 2007
18 juin 2003 à 20:25
calculer longueur string