Split avec plusieurs espaces de suite [Résolu]

cs_obivatel
Messages postés
2
Date d'inscription
vendredi 24 septembre 2004
Dernière intervention
24 septembre 2004
- 24 sept. 2004 à 16:56 - Dernière réponse : Renfield
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
- 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

Meilleure réponse
cs_Jack
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
- 24 sept. 2004 à 19:47
3
Merci
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

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

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

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

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

Vala
Jack
cs_obivatel
Messages postés
2
Date d'inscription
vendredi 24 septembre 2004
Dernière intervention
24 septembre 2004
- 24 sept. 2004 à 18:21
0
Merci
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
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
- 24 sept. 2004 à 21:12
0
Merci
Ce qui nous donne :

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

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