Espace multiples dans une variable et/ou $1-

Résolu
Signaler
Messages postés
6
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
12 février 2006
-
Messages postés
6
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
12 février 2006
-
Bonjour,



Voilà j'ai un :

on *:TEXT:*:?:{ }

J'analyse donc le $1- et je le parse avec une expression régulière,
mais avant ça, je remplace tous les caractères suceptibles de me poser
problèmes ( /\^$*+. etc...) ET les espaces que je convertis en " \s "
mais voilà si quelqu'un m'envoie un message du style "<nick> Salut"


avec plusieurs espaces devant, $1- me donne "Salut" et donc je ne
trouve aucune occurences avec ma regex, par contre si je set moi même
une variable en tapant "/set %var Un te st he hé"

ma variable %var a bien la valeur "Un te st he hé"

mais j'entre ça dans un remote alors les espaces sont supprimés.

Le problème semble donc venir de $1- existe t il un identifieur qui me
permettrait de remédier à celà ? en conservant tous les espaces ?

Quelqu'un aurait il une suggestion à faire ?

J'espère avoir été clair.



Merci d'avance

2 réponses

Messages postés
6
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
12 février 2006

merci de ta réponse, mais je ne pas remplaçais un charactère qui n'existe pas !
Puis que je récupère la valeur de mon ON TEXT dans $1- et il semblerait que la compression s'effectue à ce niveau là.
De plus le caractère ascii 160 n'est PAS un espace, il n'est pas reconnu par toutes les polices de caratères comme un espace, ce qui pourrait poser des problèmes de compatibilités.
Cela dit j'ai trouvé la solution, j'utilise ON TEXT avec à la place d'un wildcard * une expression régulière, puis je récupère l'occurence trouvé par $regml(1) plutot que par $1- et je conserve donc mes espaces, je l'ai converti ensuite en \s ce qui correspond à un espace dans la règle POSIX
Messages postés
1726
Date d'inscription
vendredi 12 septembre 2003
Statut
Membre
Dernière intervention
13 juin 2009
1
mIRC "compresse" les espaces consécutifs en un seul je crois.. pour éviter ça tu peux faire un $replace() sur les $chr(32) pour les transformer en $chr(160) (qui fait un espace aussi mais qui n'est pas compressé par mIRC qd yen a plusieurs)