PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → suppression d'espaces dans une chaine
suppression d'espaces dans une chaine
Débuté par David, 01 déc. 2015 06:31 - 6 réponses
Posté le 01 décembre 2015 - 06:31
Bonjour à tous,

Mon appli dialogue avec un automate, celui-ci envoie des "messages" que je récupère et traite, le problème est qu'il mets des espaces entre chaque lettres par ex:
" e s s a i p o u r v o i r "
je voudrais formater cette chaine pour avoir : "essai pour voir"

si j'utilise la fonction chaine formate sans espaces, ça ne va pas puisque ça donne: "essaipourvoir"
si j'utilise la fonction remplace(machaine," "," ") ça ne me supprime que quand il y a deux espace de suite entre deux mots

Bref, je ne sais pas comment faire, si quelqu'un à une idée...

Merci
David
Posté le 01 décembre 2015 - 11:56
Bonjour David,

Si tu recoit les caract_res un par un, tu peux supprimer l'espace
facilement à ce moment la

Sinon, tu fais une simple boucle sur lachaine et tu copie un caractère
sur deux dans une chaine résultat

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com


On 12/1/2015 12:31 AM, David wrote:
Bonjour à tous,

Mon appli dialogue avec un automate, celui-ci envoie des "messages" que
je récupère et traite, le problème est qu'il mets des espaces entre
chaque lettres par ex:
" e s s a i p o u r v o i r "
je voudrais formater cette chaine pour avoir : "essai pour voir"

si j'utilise la fonction chaine formate sans espaces, ça ne va pas
puisque ça donne: "essaipourvoir"
si j'utilise la fonction remplace(machaine," "," ") ça ne me supprime
que quand il y a deux espace de suite entre deux mots

Bref, je ne sais pas comment faire, si quelqu'un à une idée...

Merci
David
Membre enregistré
197 messages
Popularité : +9 (9 votes)
Posté le 01 décembre 2015 - 15:30
Traitement de type lecture au fur et à mesure de l'entrée avec "buffer" de stockage avant traitement.
Utilise ensuite la balise "double espace" comme séparateur dans la chaîne à traiter pour reconstruire ta phrase.
Posté le 02 décembre 2015 - 12:48
Bonjour,

Je vois ce que vous voulez dire, par contre, je ne vois pas comment le mettre en œuvre, auriez-vous un exemple ?

Merci
Membre enregistré
197 messages
Popularité : +9 (9 votes)
Posté le 02 décembre 2015 - 15:38
En attendant que je trouve l'exemple (fait il y a plus de 3 ans sur WD15) , il y a aussi un truc tout C.. que j'utilisais avec Access :
1) remplacer tous les "DOUBLE ESPACE" par une suite de caractères impossibles à recevoir (ex: "ààà")
2) revenir supprimer tous les ESPACES
3) remplacer tous les "ààà" par un ESPACE
Posté le 04 décembre 2015 - 12:18
Tellement évident maintenant que tu m'as donné la solution !!!
Merci.
Membre enregistré
197 messages
Popularité : +9 (9 votes)
Posté le 04 décembre 2015 - 15:24
Je retourne assez souvent dans Access (97-2K) pour rechercher des idées de traitement de base de données.
Un avantage avec Access est la possibilité de copier/coller entre colonnes et lignes. (attention risque de corruption très élevé par des manipulations simples de la souris )
Pour traiter des remplacements de chaînes de caractères, lorsqu'on a sélectionné la colonne d'une table, on peut faire rechercher "chaine1" et remplacer par "chaine2" en une seule manip, et on a le résultat visualisé instantanément. (ET AUSSI L'ECRITURE EN TABLE D'OU LE RISQUE DE CORRUPTION TRES ELEVé)