Comment compter le nombre d'élément dans un tableau commençant par une chaine sp [Résolu]

Signaler
Messages postés
262
Date d'inscription
mardi 26 février 2002
Statut
Membre
Dernière intervention
27 février 2012
-
Messages postés
14800
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 juin 2021
-
Bonjour,

Comment compter le nombre d'élément dans un tableau commençant par une chaine spécifique ?

PS : si possible sans faire de boucle.

Du genre :


Private Function Montableau()
        Dim MaListe As New List(Of String)({"toto.jpg_aller", "toto.jpg_alli", "toto.jpg_allo", "toto.jpg_allu", "toti.jpg_aller", "toti.jpg_allero", "toti.jpg_aller", "toti.jpg_altler"})
        Return MaListe
    End Function


msgbox(Montableau.?????("toto.jpg_*"))

7 réponses

Messages postés
14800
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 juin 2021
156
Bonjour,

Dim lNb as Integer=0
For Each lStr As String In MaListe
if lStr.StartWith("MaChaine") Then lNb+=1
Next


Mon site
Messages postés
14800
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 juin 2021
156
Bonjour,

C'est un code qui parcours la liste, chaine par chaine.
Donc le StartWith fonctionnera.

Sinon, je ne vois pas comment faire.

Mon site
Messages postés
76
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
2 août 2018

Utilise les regex:

regex.isMatch(taChaine,"toto.jpg_*")


Je suis pas sur mais il y a peut-etre meme une fonction qui fait exactement ce que tu veut : compter le nombre d'element
Messages postés
262
Date d'inscription
mardi 26 février 2002
Statut
Membre
Dernière intervention
27 février 2012

Merci pour ton aide.

J'ai une erreur : La conversion du type List(Of String) en type String n'est pas valide.

Le but exacte de la manœuvre c'est la suivante :


Private Function MonTableau()
        Dim sTableau As New List(Of String)({"toto.jpg_1", "titi.jpg_1", "toto.jpg_2", "toto.jpg_3", "titi.jpg_2", "titi.jpg_3", "toto.jpg_4"})
        Return sTableau
    End Function


Dim DansCesItems As Object = System.Text.RegularExpressions.Regex.IsMatch(MonTableau1, "toto.jpg_*")


For each MaValeur in DansCesItems
msgbox(MaValeur)
Next

Messages postés
262
Date d'inscription
mardi 26 février 2002
Statut
Membre
Dernière intervention
27 février 2012

Merci pour m'aider.

Seulement StartWith ne marche pas avec une liste !

Il n'y a aucun moyen de le faire directement dans le in ?

J'ai pensé faire avec regex !

As-tu une idée ?

D'avance merci.
Fabiano
Messages postés
262
Date d'inscription
mardi 26 février 2002
Statut
Membre
Dernière intervention
27 février 2012

Merci, ça marche super bien.

A+
Messages postés
14800
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 juin 2021
156
Bonsoir,

Pense à mettre "Réponse acceptée" sur le ou les messages qui t'ont aidés ;)

Mon site