Split avec plusieurs espaces de suite [Résolu]

cs_obivatel 2 Messages postés vendredi 24 septembre 2004Date d'inscription 24 septembre 2004 Dernière intervention - 24 sept. 2004 à 16:56 - Dernière réponse : Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention
- 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
Afficher la suite 

8 réponses

cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 24 sept. 2004 à 19:47
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Fulgy 85 Messages postés mercredi 21 juillet 2004Date d'inscription 5 octobre 2004 Dernière intervention - 24 sept. 2004 à 17:10
0
Utile
Salut.
Fait une fonction qui épure des espaces ta string avant de la splitter.
A+
cboulas 2641 Messages postés mercredi 2 juin 2004Date d'inscription 8 janvier 2014 Dernière intervention - 24 sept. 2004 à 17:11
0
Utile
Tu peux tester quel est le caractère suivant, et si c'est un espace tu passe
econs 4066 Messages postés mardi 13 mai 2003Date d'inscription 23 décembre 2008 Dernière intervention - 24 sept. 2004 à 17:37
0
Utile
cboulas > Pas avec Split.

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

Manu
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 24 sept. 2004 à 18:05
0
Utile
Salut obivatel
Avant de faire le split, remplace les espaces multiples en simple :
Chaine = Replace(Chaine, " ", " ")

Vala
Jack
cs_obivatel 2 Messages postés vendredi 24 septembre 2004Date d'inscription 24 septembre 2004 Dernière intervention - 24 sept. 2004 à 18:21
0
Utile
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
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 24 sept. 2004 à 21:12
0
Utile
Ce qui nous donne :

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

Amusez-vous ! ;)
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 24 sept. 2004 à 21:33
0
Utile
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

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.