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

cs_fabiano13 262 Messages postés mardi 26 février 2002Date d'inscription 27 février 2012 Dernière intervention - 21 avril 2011 à 17:39 - Dernière réponse : NHenry 14003 Messages postés vendredi 14 mars 2003Date d'inscription 13 décembre 2017 Dernière intervention
- 21 avril 2011 à 22:59
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_*"))

Afficher la suite 

7 réponses

Répondre au sujet
NHenry 14003 Messages postés vendredi 14 mars 2003Date d'inscription 13 décembre 2017 Dernière intervention - 21 avril 2011 à 19:09
+3
Utile
Bonjour,

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


Mon site
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de NHenry
NHenry 14003 Messages postés vendredi 14 mars 2003Date d'inscription 13 décembre 2017 Dernière intervention - 21 avril 2011 à 20:05
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de NHenry
eccsup 74 Messages postés jeudi 14 mai 2009Date d'inscription 6 décembre 2012 Dernière intervention - 21 avril 2011 à 17:58
0
Utile
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
Commenter la réponse de eccsup
cs_fabiano13 262 Messages postés mardi 26 février 2002Date d'inscription 27 février 2012 Dernière intervention - 21 avril 2011 à 18:37
0
Utile
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

Commenter la réponse de cs_fabiano13
cs_fabiano13 262 Messages postés mardi 26 février 2002Date d'inscription 27 février 2012 Dernière intervention - 21 avril 2011 à 19:37
0
Utile
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
Commenter la réponse de cs_fabiano13
cs_fabiano13 262 Messages postés mardi 26 février 2002Date d'inscription 27 février 2012 Dernière intervention - 21 avril 2011 à 21:45
0
Utile
Merci, ça marche super bien.

A+
Commenter la réponse de cs_fabiano13
NHenry 14003 Messages postés vendredi 14 mars 2003Date d'inscription 13 décembre 2017 Dernière intervention - 21 avril 2011 à 22:59
0
Utile
Bonsoir,

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

Mon site
Commenter la réponse de NHenry

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.