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 - Dernière réponse : cs_dayvid 212 Messages postés mardi 18 janvier 2011Date d'inscription 12 février 2013 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
cs_dayvid 212 Messages postés mardi 18 janvier 2011Date d'inscription 12 février 2013 Dernière intervention - 4 févr. 2013 à 12:07
3
Merci
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++

Merci cs_dayvid 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 123 internautes ce mois-ci

Commenter la réponse de cs_dayvid
NHenry 14203 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 17 juin 2018 Dernière intervention - 4 févr. 2013 à 12:59
1
Merci
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
Commenter la réponse de NHenry
Utilisateur anonyme - 4 févr. 2013 à 22:31
1
Merci
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 "
Commenter la réponse de Utilisateur anonyme
0
Merci
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.
Commenter la réponse de Micoute
0
Merci
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.
Commenter la réponse de Micoute
cs_dayvid 212 Messages postés mardi 18 janvier 2011Date d'inscription 12 février 2013 Dernière intervention - 4 févr. 2013 à 21:28
0
Merci
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 ?!
Commenter la réponse de cs_dayvid
cs_dayvid 212 Messages postés mardi 18 janvier 2011Date d'inscription 12 février 2013 Dernière intervention - 4 févr. 2013 à 22:44
0
Merci
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
Commenter la réponse de cs_dayvid
0
Merci
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.
Commenter la réponse de Micoute
cs_dayvid 212 Messages postés mardi 18 janvier 2011Date d'inscription 12 février 2013 Dernière intervention - 5 févr. 2013 à 11:49
0
Merci
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
Commenter la réponse de cs_dayvid

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.