Lordryck
Messages postés2Date d'inscriptionlundi 30 décembre 2002StatutMembreDernière intervention28 juin 2003
-
28 juin 2003 à 07:30
anice2
Messages postés6Date d'inscriptionmercredi 7 mai 2003StatutMembreDernière intervention 9 février 2008
-
22 juin 2009 à 01:47
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Et quand il y a des virgules dans les phrases, le split ne marche plus
La méthode de gabchampagne est pas mal mais il faudrai ajouter aussi quand le caractère est ", "
Mais on peut le faire aussi avec points, les point virgule ...
Certes, nous sommes tous là pour apprendre. Je reconnais que j'étais un poil sarcastique dans mon premier commentaire... Il est vrai que si tu connaissais Split, tu n'aurais certainement pas posté ta source... :-)
Sur ce bonne prog à tous !
gabchampagne
Messages postés216Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention 5 mai 2004 19 juil. 2003 à 22:54
Dim LesMots() As String
LesMots Split(MonTexte, " ") 'ou LesMots Split(MonTexte)
For I = 0 To UBound(LesMots)
If LesMots(I) <> "" Then List1.AddItem LesMots(I)
Next I
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 14 juil. 2003 à 23:47
La parole est à la défense :
Avec MonTexte = " Ceci est un texte"
(ça contient 4 mots mais c'est bourré d'espaces)
LesMots Split(MonTexte, " ") ou LesMots Split(MonTexte)
UBound(LesMots) est largement supérieur à 4.
Non puisque UBound part de 0, comme pour les éléments d'une Listbox. C'est donc bien :
For I = 0 To UBound(LesMots)
gabchampagne > Tu as l'air hyper content de ta source (on dirait qu'elle est révolutionnaire), tant mieux pour toi :)
J'ai bien rigolé quand j'ai vu ton 2ème paragraphe "Ce qui est formidable..." parce que, en proposant une source qui se charge de séparer des mots, il vaut mieux en effet qu'elle affiche 4 mots si tu lui en donnes 4... Logique... :-)
N'empêche que tu as dû faire une sacrée tête quand tu as vu l'alternative de Lordryck... non ?
+
cs_Pulcocitron
Messages postés5Date d'inscriptionsamedi 28 juin 2003StatutMembreDernière intervention24 avril 2004 28 juin 2003 à 14:58
Je trouve la solution proposée par Lordryck plus attrayante, cependant, je crois que l'on peut se contenter de split(MonTexte), le séparateur est en option est par défaut sa valeur est l'espace " " (enfin je crois).
Par contre il me semble bien qu'il y a un décalage dans ubound, mieux vaut faire for i = 0 to ubound(LesMots)-1; car ubound indique le nombre d'éléments (et non l'index du dernier...)
De toute façon, je ne crois pas que celà créé d'erreur pour des listes lorsque l'index est hors de la définition, c'est juste un détail...
Lordryck
Messages postés2Date d'inscriptionlundi 30 décembre 2002StatutMembreDernière intervention28 juin 2003 28 juin 2003 à 07:30
autre soluce:
Dim LesMots() as string
LesMots = split(MonTexte, " ")
for i = 0 to ubound (LesMots)
List1.AddItem LesMots(i)
next i
22 juin 2009 à 01:47
TestArray() = Split("someone@example.com", "@")
MsgBox TestArray(0)
MsgBox TestArray(1)
15 oct. 2004 à 10:08
La méthode de gabchampagne est pas mal mais il faudrai ajouter aussi quand le caractère est ", "
Mais on peut le faire aussi avec points, les point virgule ...
Bonne prog
20 juil. 2003 à 21:33
Sur ce bonne prog à tous !
19 juil. 2003 à 22:54
15 juil. 2003 à 01:07
Dim LesMots() As String
LesMots Split(MonTexte, " ") 'ou LesMots Split(MonTexte)
For I = 0 To UBound(LesMots)
If LesMots(I) <> "" Then List1.AddItem LesMots(I)
Next I
14 juil. 2003 à 23:47
Avec MonTexte = " Ceci est un texte"
(ça contient 4 mots mais c'est bourré d'espaces)
LesMots Split(MonTexte, " ") ou LesMots Split(MonTexte)
UBound(LesMots) est largement supérieur à 4.
29 juin 2003 à 08:48
For I = 0 To UBound(LesMots)
gabchampagne > Tu as l'air hyper content de ta source (on dirait qu'elle est révolutionnaire), tant mieux pour toi :)
J'ai bien rigolé quand j'ai vu ton 2ème paragraphe "Ce qui est formidable..." parce que, en proposant une source qui se charge de séparer des mots, il vaut mieux en effet qu'elle affiche 4 mots si tu lui en donnes 4... Logique... :-)
N'empêche que tu as dû faire une sacrée tête quand tu as vu l'alternative de Lordryck... non ?
+
28 juin 2003 à 14:58
Par contre il me semble bien qu'il y a un décalage dans ubound, mieux vaut faire for i = 0 to ubound(LesMots)-1; car ubound indique le nombre d'éléments (et non l'index du dernier...)
De toute façon, je ne crois pas que celà créé d'erreur pour des listes lorsque l'index est hors de la définition, c'est juste un détail...
28 juin 2003 à 07:30
Dim LesMots() as string
LesMots = split(MonTexte, " ")
for i = 0 to ubound (LesMots)
List1.AddItem LesMots(i)
next i