Les Snippets

Connexion

Compter le nombre de sous-chaîne

Niveau requis pour utiliser/comprendre cette source : 2 ( Initié )
Créé le 04/06/2007 16:39:13 et initié par coucou747 [Liste]
Date de mise à jour : 04/06/2007 17:14:47
Vue : 4943
Catégorie(s) : Chaîne de caractères
Langages dispo pour ce code :
- mySQL
- VB6, VBA
- PHP 3, PHP 4, PHP 5
- Javascript



Langage : mySQL
Date ajout : 04/06/2007
Posté par coucou747 [Liste]
CREATE FUNCTION substringcount( string1 TEXT, string2 TEXT ) RETURNS REAL
DETERMINISTIC RETURN (LENGTH(string1)-LENGTH(REPLACE(string1, string2, "")))/LENGTH(string2);

Remarque :
SELECT substringcount("ab abc", "ab");

si vous voulez, ca remplace la sous chaine par du vide, dans la chaine principale, et ca compte la difference du nombre de caracteres, avant et apres... en divisant le tout par la taille de la sous chaine, vous comptez le nombre de sous chaines remplaces
Langage : VB6 , VBA
Date ajout : 10/06/2007
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 
Remarque :
Existe déjà ici :
http://www.codyx.org/snippet_compter-nombre-occurrence-chaine-dans-autre_158.aspx
Langage : PHP 3 , PHP 4 , PHP 5
Date ajout : 10/06/2007
Posté par coucou747 [Liste]
substr_count($grossechaine, $souschaine);
Langage : Javascript
Date ajout : 25/08/2007
Posté par Arto_8000 [Liste]
// Version avec la casse //
function substr_count (str, seek)
{
    return ((str.length - str.split(seek).join("").length) / seek.length);
}
// Exemples :
substr_count("aBBBB","ab"); // 0
substr_count("ab abcdef"); // 2
// Version sans la casse //
function substr_count (str, seek)
{
    return ((str.length - str.replace(new RegExp(seek,"gi"),"").length) / seek.length);
}
// Exemples :
substr_count("aBBBB","ab"); // 1
substr_count("ab abcdef"); // 2

Snippets en rapport avec : Compter, Replace, Substringcount, Sous, Chaines



Codes sources en rapport avec : Compter, Replace, Substringcount, Sous, Chaines

{PHP} COMPARAISON DE 2 CHAINES , ET RETOUR DU POURCENTAGE DE RESSEMBLANCE
bonjour cette fonction tres simple sert a comparer 2 chaines de caracteres, et de connaitre leur ...

{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é...

{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...

{Visual Basic, VB6, VB.NET, VB 2005} PROGRAMME POUR RENOMMER PLUSIEUR FICHIER
J'ai fait ce programme pour renommer les fichiers (a l'origine les mp3). Il permet d'enlever , rajo...

{Flash} MENU SOUS-MENU, EN ROLL-OVER AVEC VARIABLE
un menu et sous-menu qui s'affiche en roll-over avec chaque bouton du menu "parent" activé. en roll...

{Javascript / DHTML} REMPLACER UN MOT DANS UNE CHAINE
Bonjour, N'aimant pas travailler avec les expressions régulières sous javascript, voici une fonct...

{IRC} RANDOM REPLACE
le replace habituel ne remplace les lettres ou mots que par 1 remplacant cette source permet de def...

{C / C++ / C++.NET} TABLEAUX DE CHAINES DE CARACTÈRE: FONCTIONS IMPLODE, EXPLODE ET COUNT
Voici quelques fonctions utiles pour la gestion des tableaux de chaines de caractères (comme les fon...

{Visual Basic, VB6, VB.NET, VB 2005} SURVEILLER USER ASSIST ET MUI CACHE V.3
On peut surveiller 2 clés du REGISTRE qui mémorisent nos actions sans notre avis. 1°HKEY_CURRENT_US...