Page 1 sur 1
[R] Supprimer les espaces en trop d'une chaîne de caractère
Posté : ven. 15 févr. 2013 13:43
par clark17
Bonjour,
J'ai une chaîne de caractère qui peut contenir des mots avec parfois des espaces à l'intérieur mais aussi et surtout des espaces à la fin de la chaîne. J'aimerai me débarrasser de ses espaces en trop mais je ne vois pas trop comment m'en sortir...
Par exemple j'ai ce genre de chaînes (les points sont des espaces):
TAAOUINE........
AAAA..BBBB.....................
Re: [..] Supprimer les espaces en trop d'une chaîne de carac
Posté : ven. 15 févr. 2013 14:09
par mikell
Re: [..] Supprimer les espaces en trop d'une chaîne de carac
Posté : ven. 15 févr. 2013 15:16
par ani
ou bien

ConsoleWrite(StringRegExpReplace("AAAAAAA BBBBBBBB CIDJI IDJ ","\s",""))
vous renverra AAAAAAABBBBBBBBCIDJIIDJ
Re: [..] Supprimer les espaces en trop d'une chaîne de carac
Posté : ven. 15 févr. 2013 16:22
par clark17
Grrr il m'a coupé les espaces dans les guillemets, j'ai remplacé par des points. Je veux juste me séparer des espaces à la fin du mot, pas à l'intérieur.
Re: [..] Supprimer les espaces en trop d'une chaîne de carac
Posté : ven. 15 févr. 2013 16:28
par clark17
Je m'auto répond, à l'aide de la fonction StringStripWS et le flag 1+2 il m'enlève les espaces au début et à la fin. Ça nous donne ceci:
Code : Tout sélectionner
Local $text = StringStripWS(" this is a line of text ", 3)
MsgBox(0, "Stripped from both ends", $text)
Merci à vous, sujet résolu.
Re: [..] Supprimer les espaces en trop d'une chaîne de carac
Posté : mar. 19 févr. 2013 16:47
par TommyDDR
clark17 a écrit :Je m'auto répond
Ou le vilain, Mikell vous a donné 99% de la réponse. ^^
Re: [R] Supprimer les espaces en trop d'une chaîne de caract
Posté : mer. 20 févr. 2013 04:03
par ani
Code : Tout sélectionner
ConsoleWrite(StringRegExpReplace(" AAAAAAA BBBBBBBB CIDJI IDJ ","\s+\z","") & @LF)
Ceux-ci retira tout les espacement à la Fin de la chaine.
\s = recherche les espaces, @TAB,@LF, @CRLF
+ = repete le caractere
\z = recherche a la fin de la chaine
reviend à l'identique
Code : Tout sélectionner
ConsoleWrite(StringStripWS ( " AAAAAAA BBBBBBBB CIDJI IDJ ", 2 ) & @LF)
les valeurs pour StringStripWS
1 = retire tout les espacement du Debut
2 = retire tout les espacement de Fin
3 = retire tout les espacement du Debut et Fin
4 = retire les espacement double en debut et fin de chaine
8 = retire tout les espaces
SI vous voulez retirez en debut et fin de chaine comme votre auto réponse(c l'exemple fournis de l'aide), vous avez ceux-ci en regex
Code : Tout sélectionner
ConsoleWrite(StringRegExpReplace(" AAAAAAA BBBBBBBB CIDJI IDJ ","^\s+|\s+\z","") & @LF)
ConsoleWrite(StringRegExpReplace(" AAAAAAA BBBBBBBB CIDJI IDJ ","\A\s+|\s+\z","") & @LF)
^ = debut
\A = debut de chaine
| = ou bien
voilàvoilà