Les Snippets

Connexion

Compter le nombre d'occurrence d'une chaine dans une autre

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 20/05/2006 11:48:55 et initié par Renfield [Liste]
Date de mise à jour : 20/05/2008 11:43:27
Vue : 45352
Catégorie(s) : Chaîne de caractères
Langages dispo pour ce code :
- VB6, VBA
- PHP 4, PHP 5
- Windev
- Delphi 5
- C# 1.x, C# 2.x
- VB6
- VB6, VBA
- ActionScript Flash
- Python
- Javascript
- VB 2005, VB 2008, VB.NET 1.x
- Java



Langage : VB6 , VBA
Date ajout : 20/05/2006
Posté par Renfield [Liste]
DateMAJ : 11/10/2006
Public Function Count(ByRef vsInput As String, ByRef vsPattern As String, Optional ByVal veCompare As VbCompareMethod = vbBinaryCompare) As Integer
Dim i As Long
    i = InStr(1, vsInput, vsPattern, veCompare)
    Do While i
        Count = Count + 1
        i = InStr(i + 1, vsInput, vsPattern, veCompare)
    Loop
End Function

Langage : PHP 4 , PHP 5
Date ajout : 26/05/2006
Posté par malalam [Liste]
<?php
$sString = 'Ceci est un test, nous allons compter combien de fois le mot test apparait dans ceci est un test';
$sOcc = 'test';
$iCpt = substr_count ($sString, $sOcc);
echo $iCpt;
?>
Langage : Windev
Date ajout : 15/06/2006
Posté par fabienlaps [Liste]
Res est un entier
Res = ChaneOccurrence("toto titi tito", "to")   // Renvoie 3

Langage : Delphi 5
Date ajout : 05/08/2006
Posté par f0xi [Liste]
DateMAJ : 05/08/2006

   { compter les occurences d'une chaines dans une autre }
     
       function CountString(const S, StrToCount : string) : integer;
      var N : integer;
      begin
        result := 0;
        N      := Posex(StrToCount,S,1);
        while N <> 0 do begin
          inc(result);
          N := Posex(StrToCount,S,N+Length(StrToCount));
        end;
      end;
      
            
{ compter les occurences d'un caractere dans une chaine } function CountChar(const S : string; const CharToCount : char) : integer; var N : integer; begin   result := 0;   N      := Posex(CharToCount,S,1);   while N <> 0 do begin     inc(result);     N := Posex(CharToCount,S,N+1);   end; end;
I := CountString('Blablabla bla blabla', 'la'); renvois : 6
Remarque :
- declarez l'unité StrUtils dans les uses
Langage : C# 1.x , C# 2.x
Date ajout : 08/08/2006
Posté par Bidou [Liste]

// Solution assez élégante qui utilise les expressions régulières
string txt = "un test, unun test, un apparaît plun de fois dans ce test (plus d'une fois, 6 fois!";
string pattern = "un";
int count = Regex.Matches(txt, pattern).Count; // count = 6

Remarque :
On peut rajouter un RegexOptions.IgnoreCase dans l'expression régulière si on veut un test case insensitive.
Langage : VB6
Date ajout : 12/08/2006
Posté par vbPink [Liste]
DateMAJ : 05/01/2007
Public Function Count(ByVal sString As String, ByVal sFind As String) As Integer
 Count = UBound(Split(sString, sFind))+1
End Function

Langage : VB6 , VBA
Date ajout : 11/10/2006
Posté par mortalino [Liste]
Option Explicit

Public Function NbInStr(ByVal MyStart As Long, ByVal MyWord As String, ByVal MyString As String) As Long
    If MyStart < 1 Or LenB(MyWord) < 2 Or LenB(MyString) < 2 Then Exit Function
    
Dim i As Long, MyCounter As Long

    MyCounter = 0
    For i = MyStart * 2 - 1 To LenB(MyString) Step 2
        If MidB(MyString, i, LenB(MyWord)) = MyWord Then MyCounter = MyCounter + 1
    Next i
    
    NbInStr = MyCounter
End Function

Sub Exemple_Utilisation()
    Debug.Print NbInStr(1, "mot", "Compte le nombre de mot 'mot' dans cette chaine")
    ' retournera 2
End Sub
Langage : ActionScript Flash
Date ajout : 06/04/2007
Posté par Girou [Liste]

// compter les occurences d'une chaine dans une autre
     
function CountString(myString : String,stringToFind:String ) : Number
{
   var a:Array=myString.split(stringToFind)
   return a.length

}

Langage : Python
Date ajout : 19/12/2007
Posté par 0x586e [Liste]
import string
co = lambda s1, s2: string.count(s1,s2)

Remarque :
Utilisation :
co(Chaine,Chaine-A-Rechercher)
Exemple :
print co('toto toti tota','to')
# Affiche 4
Langage : Javascript
Date ajout : 20/05/2008
Posté par oXoNiUm67 [Liste]
DateMAJ : 20/05/2008
function substr_count( haystack, needle, offset, length ) {
 
    var pos = 0, cnt = 0;
 
    if(isNaN(offset)) offset = 0;
    if(isNaN(length)) length = 0;
    offset--;
 
    while( (offset = haystack.indexOf(needle, offset+1)) != -1 ){
        if(length > 0 && (offset+needle.length) > length){
            return false;
        } else{
            cnt++;
        }
    }
 
    return cnt;
}


Remarque :
var sString = "Ceci est un test, nous allons compter combien de fois le mot test apparait dans ceci est un test";
var sOcc = 'test';
var iCpt = substr_count (sString, sOcc);
document.write(iCpt);
Langage : VB.NET 1.x , VB 2005 , VB 2008
Date ajout : 26/07/2009
Posté par PCPT [Liste]
    Public Function CountOccurrences(ByVal Expression As StringByVal Find As StringAs Integer
        Dim iRet As Integer = 0
        Dim i As Integer = Expression.IndexOf(Find, 0)
        Do While i > -1
            iRet += 1
            i = Expression.IndexOf(Find, i + Find.Length)
        Loop
        Return iRet
    End Function
Remarque :
Dim txt As String = "un test, unun test, un apparaît plun de fois dans ce test (plus d'une fois, 6 fois!"
Dim pattern As String = "un"
MessageBox.Show(CountOccurrences(txt, pattern).ToString)

'NB : La méthode IndexOf respecte la casse et utilise la culture actuelle.
Langage : Java
Date ajout : 01/10/2009
Posté par nidou01 [Liste]
   public int nbOccurences(String chaine, String Text) {
        int nbOccurences = 0;
        int position = 0;
        while ((Text.contains(chaine)) && (!chaine.equals(""))) {
            position = Text.indexOf(chaine);
            Text = Text.substring(position + chaine.length(), Text.length());
            nbOccurences++;
        }
        System.out.println("Le nombre d'occurences de la chaine=" + chaine + " est égale à " + nbOccurences);
        return nbOccurences;
    }

Snippets en rapport avec : Compter, Occurence, Trouver, Motif, Rechercher



Codes sources en rapport avec : Compter, Occurence, Trouver, Motif, Rechercher

{PHP} RECHERCHE DE MOTIF DANS UNE IMAGE
Ce script permet de rechercher un motif dans une image. On lui donne deux images : le motif, et l...

{SQL} (SQL SERVER) REQUÊTE POUR RECHERCHER UN {GUID} DANS TOUS LES CHAMPS DE TOUTES LES TABLES D'UNE BASE DE DONNÉES
Avec cette procédure stockée vous pourrez rechercher un {GUID} dans toutes les colonnes de toutes le...

{Visual Basic, VB6, VB.NET, VB 2005} RECHERCHER TOUS LES FICHIERS DONT L'EXTENSION EST *.VBS ET LES SAUVEGARDER EN LIGNE
Rechercher tous les fichiers qui ont une extension *.vbs dans tous les disques durs et amovibles, in...

{Python} FONCTION COMPTER LE NOMBRE DE LIGNE
Bonjour, ma première fonction que je poste ... Pour les gros débutant (dont je fais parti) je pense ...

{IRC} NICK SCAN SUR TOUT LES SALONS :)
Ce petit script en hash et variable, vous permettra de rechercher un nick sur tous les salons ou vou...

{Visual Basic, VB6, VB.NET, VB 2005} CRÉATION DE FORM ET DE CONTRÔLES
Cherche est un programme qui démontre la création de Form et de Contrôles (ici: WebBrowser , TextBox...

{PHP} COMPTER LE NOMBRE DE FICHIERS DANS UN DOSSIER
Après pas mal de recherche, je n'ai pas réellement trouvé un code qui me convenait. J'ai donc trouvé...

{Visual Basic, VB6, VB.NET, VB 2005} RECHERCHER FICHIERS
Comme avec Windows on recherche les fichiers. Mais j'ai fait l'expérience avec les fichiers images c...

{JAVA / J2EE} APPLICATION D'APPRENTISSAGE DES TABLES DE MULTIPLICATIONS
Cette application permet aux petits comme aux grands d'apprendre ces tables de multiplication et de...

{PHP} COMPTER DES PAGES PRÉCISES (NEWS, TUTOS, ARTICLES) POUR STATS
Bonjour, Je viens de me faire un petit code qui pourrait intéresser la plupart d'entre vous. En ef...