Compter combien de fois il y a une chaine dans une autre

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 457 fois - Téléchargée 29 fois

Contenu du snippet

Petit fonction qui renvoie le nombre de fois k'il y a une chaine dans une autre:

Source -> Chaine source
Chaine -> Chaine qui doit être compté

Source / Exemple :


function CompteChar(Source:String;Chaine:string):integer;
var
  a:integer;
begin
  Result:=0;
  for a:=1 to length(Source) do if copy(Source,a,length(Chaine)) = Chaine then Result:=Result+1;
end;

Conclusion :


Exemple d'utilisation
CompteChar('Bienvenue sur DelphiFR.com','e');
renvera 4

A voir également

Ajouter un commentaire Commentaires
Messages postés
3
Date d'inscription
mercredi 9 octobre 2002
Statut
Membre
Dernière intervention
10 décembre 2003

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;
Messages postés
13
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
22 novembre 2007

calculer longueur string

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.