Nettoyage de chaine de caractéres

FrostByte Messages postés 138 Date d'inscription mercredi 4 avril 2001 Statut Membre Dernière intervention 28 janvier 2006 - 10 nov. 2005 à 13:58
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 14 nov. 2005 à 17:54
Bonjour,

J'ai une chaine de caractére récupérée via la base de registre, jusque là pas de soucis, le seul probléme actuellement c'est que ma chaine renvoyée (dans une msgbox pour un test) contient des caractéres non ASCII (apparement d'échappement) comment pourrais-je faire pour supprimer ces dits caractéres (on peut voir des carrés dans cette chaine)

4 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
10 nov. 2005 à 19:10
Salut, tu aurais un exemple ? Car il peut y avoir plusieurs solutions.

variable = split(tachaine, chr(0))(0) 'pour éliminer le caractère de fin de chaine.
ou alors il faut parcourrir la chaine car par car et faire un replace des cars ascii < 32.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
10 nov. 2005 à 19:19
Je viens de penser à un truc :

dim i as integer

for i =0 to 31
Tachaine = replace(tachaine, chr$(i), " ")
next

ça remplacera les caractères non imprimables par un espace.
Le plus rapide du parcours de chaine, du replace ? pas eu le temps d'analyser.

Le mieux serait que tu connaisses le ou les cars ascii cachés sous tes carrés.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
FrostByte Messages postés 138 Date d'inscription mercredi 4 avril 2001 Statut Membre Dernière intervention 28 janvier 2006
14 nov. 2005 à 13:41
Voici typiquement les caractéres que j'obtiens quand je place un espion sur cette variable, mais en aucun les caractéres ne sont affichés; ce qui m'empêche même de faire de la concaténation :(

pCompil : "C:\Program Files\NSISFiles\NSIS"
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
14 nov. 2005 à 17:54
Dans ce cas, essaie le replace. Mais cette fois avec "" :

dim i as integer

for i =0 to 31
Tachaine = replace(tachaine, chr$(i), "")
next

Ca donne : "C:\Program Files\NSISFiles\NSIS"

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
Rejoignez-nous