Split avec plusieurs espaces de suite

Résolu
cs_obivatel
Messages postés
2
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2004
- 24 sept. 2004 à 16:56
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
- 24 sept. 2004 à 21:33
bonjour,
j'utilise split pour ranger des sous-chaines dans un tableau avec espace comme séparateur.
Mais parfois il y a plus de 1 espace entre 2 chaines et ça me décale tout.
Quelqu'un sait comment faire comprendre à la fonction split de VB qu'il faut considérer plusieurs espaces de suite comme un seul séparateur ?

obivatel

8 réponses

cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
24 sept. 2004 à 19:47
re obivatel
Oui, désolé, je n'avais pas saisi le code avec les bornes qui vont bien, ce qui fait que le double espace (2e argument) a été converti en simple.
Voilà la bonne instruction (j'espère) :
Chaine = Replace(Chaine, "  ", " ")

Le premier " " contient deux espaces, et le second " ", un seul.
Eventuellement, met plusieurs fois cette instruction à la suite, car si ton texte comporte trois espaces à la suite, il faudrait exécuter deux fois l'instruction pour n'en retrouver qu'un.

Vala
Jack
3
Fulgy
Messages postés
85
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
5 octobre 2004

24 sept. 2004 à 17:10
Salut.
Fait une fonction qui épure des espaces ta string avant de la splitter.
A+
0
cboulas
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
16
24 sept. 2004 à 17:11
Tu peux tester quel est le caractère suivant, et si c'est un espace tu passe
0
econs
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
23
24 sept. 2004 à 17:37
cboulas > Pas avec Split.

La solution de Fulgy me semble être la plus appropriée.

Manu
0

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

Posez votre question
cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
24 sept. 2004 à 18:05
Salut obivatel
Avant de faire le split, remplace les espaces multiples en simple :
Chaine = Replace(Chaine, " ", " ")

Vala
Jack
0
cs_obivatel
Messages postés
2
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2004

24 sept. 2004 à 18:21
hello jack
j'ai essayé mais ça remplace chaque espace par un autre et à la fin il y a toujours autant de blancs multiples
obivatel
0
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
24 sept. 2004 à 21:12
Ce qui nous donne :

Dim Tab() AS String
Tab = Split ( Replace(Chaine, " ", " ") , " ")

Amusez-vous ! ;)
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS
0
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
24 sept. 2004 à 21:33
Pour info, aucun formattage n'est fait sur les textes saisis...

l'HTML fais que deux espaces consécutifs n'en affichent qu'un..

solution, utiliser les META caractères; en clair : "& n b s p ;" (sans les espaces ;) ) pour faire un espace

Amusez-vous ! ;)
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS
0