Visual studio 2010 : Existe t'il une fonction pour compter un caractère répété

Résolu
Micoute - 4 févr. 2013 à 11:14
cs_dayvid Messages postés 212 Date d'inscription mardi 18 janvier 2011 Statut Membre Dernière intervention 12 février 2013 - 5 févr. 2013 à 11:49
Bonjour à tous, le titre de ma question n'est pas clair, donc j'explique ma démarche.
En vue d'aider Dayvid, je souhaiterais faire une Sub pour justifier une chaîne en plusieurs lignes de longueur choisie par l'utilisateur.

Je souhaiterais savoir s'il existe une fonction dans Visual Studio 2010 Express, qui compte le nombre d’occurrences dans une chaîne, par exemple : nombre de lignes séparées par un chr(13)?

Par exemple :
Texte$ = "Les lapins sont présents un peu partout sur la planète et se répartissent en neuf genres, tous classés dans la famille des léporidés, avec leurs proches parents les lièvres. Ce ne sont donc pas des rongeurs mais des lagomorphes, une branche cousine qui comprend les lièvres, les lapins et les pikas." + vbCR + "Les « lapins » sont classés dans les genres suivants de la famille des Léporidae : Brachylagus, Bunolagus, Caprolagus, Nesolagus, Oryctolagus (lapin commun), Pentalagus, Poelagus, Pronolagus, Romerolagus ou Sylvilagus." + vbCR + "Sept de ces genres ne comprennent qu'une seule espèce, le genre Nesolagus comprend deux espèces, le genre Pronolagus en comprend trois et le genre Sylvilagus ou lapins d'Amérique, comprend quinze espèces, soit au moins 27 espèces différentes de lapins en tout."

Est-t'il possible de renvoyer les champ d'une chaîne en indiquant sa position dans la chaîne ?

Par exemple "Je suis une chaîne contenant des champs"

Puis-je savoir quel champ se trouve à la position 3, c'est à dire "chaîne" ?

La langue française est gratuite, seules les fautes d'orthographe sont en option.

9 réponses

cs_dayvid Messages postés 212 Date d'inscription mardi 18 janvier 2011 Statut Membre Dernière intervention 12 février 2013 1
4 févr. 2013 à 12:07
Salut Micoute,

Tous cella est possible !

Pour compter le nombre d’occurrence, utilise par exemple ceci que j'ai crée (j'ai mis un exemple avec):
Module Module1

    ''' <summary>
    ''' Permet de renvoyer le nombre d'occurence d'une sous chaine dans une chaine de caractères
    ''' </summary>
    ''' La chaine de caractère ou rechercher


    ''' La chaine à rechercher


    ''' <returns>Renvoie le nombre de fois qu'à été trouve la chaine dans la chaine de caractères</returns>
    ''' <remarks></remarks>
    ''' 
    Function CountString(Chaine As String, ChaineChercher As String, Optional RespecterCase As Boolean = False) As Long
        If RespecterCase Then
            Return (Len(Chaine) - Len(Replace(Chaine, ChaineChercher, "", , , 0))) / Len(ChaineChercher)
        Else
            Return (Len(Chaine) - Len(Replace(Chaine, ChaineChercher, "", , , 1))) / Len(ChaineChercher)
        End If
    End Function

    'Exemple d'utilisation:
    Dim Chaine As String = " Abc def abc Ghi Def abc jkl ghi abc Mno Jkl "
    Dim ChaineChercher As String = "abc"

    Sub Main()

        Console.Write(CountString(Chaine, ChaineChercher, False))
        Console.ReadLine()

    End Sub

End Module


Ensuite tu peut utiliser la commande Split pour savoir quel champ se trouve à la position 3
Je ne connais pas encore cette commande donc je ne peut pas t'aider, désoler
A++
3
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
4 févr. 2013 à 12:59
Bonjour,

Return (Len(Chaine) - Len(Replace(Chaine, ChaineChercher, "", , , 0))) / Len(ChaineChercher)


En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).

Return ((Chaine.Length - Chaine.Replace(ChaineChercher, "").Length) / ChaineChercher.Length)


v----Signature--------v----------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
1
Utilisateur anonyme
4 févr. 2013 à 22:31
Bonjour,

D'ailleurs c'est quoi ça le dernier truc au juste ?!

Le voici, mais oui, le fameux truc du jour tant attendu...

On écrit " SES " si on peut dire : " MON ou MA "
On écrit " CES " si on peut dire : " CE ,CET ouCETTE "
1
Bonjour à tous, merci à Dayvid, normalement c'est moi qui dois t'aider et non l'inverse


La langue française est gratuite, seules les fautes d'orthographe sont en option.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Re bonjour, merci beaucoup pour cette réponse, ce forum est vraiment merveilleux et j'aime l'ambiance d’entraide mutuelle qui y règne, surtout ne changez rien si ce n'est en mieux !


La langue française est gratuite, seules les fautes d'orthographe sont en option.
0
cs_dayvid Messages postés 212 Date d'inscription mardi 18 janvier 2011 Statut Membre Dernière intervention 12 février 2013 1
4 févr. 2013 à 21:28
Bonjour à tous, merci à Dayvid, normalement c'est moi qui dois t'aider et non l'inverse

Ouais ba ok mais...


En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).

Ah non hein, c'est pas vrais qu'il vont encore se remettre à parler leur langue incompréhensible
Non mais sérieux quoi, c'est quoi ses mots là:

- Option Explicit
- l'import automatique de l'espace de nom Microsoft.VisualBasic

Pourquoi tans de violence, au secourt, pauvre de nous
D'ailleurs c'est quoi ça le dernier truc au juste ?!
0
cs_dayvid Messages postés 212 Date d'inscription mardi 18 janvier 2011 Statut Membre Dernière intervention 12 février 2013 1
4 févr. 2013 à 22:44
On écrit " SES " si on peut dire : " MON ou MA "

Mon chien
Ses chien
On écrit " CES " si on peut dire : " CE ,CET ou CETTE "

Ce chien
Ces chiens
0
Bonjour, bien sûr, tu as raison, mais on dit aussi Son chien, Ses chiens
.
Mais je ne t'en veux pas, car je sais que la grammaire et l'orthographe ne font pas partie de tes connaissances !


La langue française est gratuite, seules les fautes d'orthographe sont en option.
0
cs_dayvid Messages postés 212 Date d'inscription mardi 18 janvier 2011 Statut Membre Dernière intervention 12 février 2013 1
5 févr. 2013 à 11:49
Le voici, mais oui, le fameux truc du jour tant attendu...

J'adore, il donne des conseils mais en fin de compte, c'est pas clair quoi
0
Rejoignez-nous