supprimer espace debut et fin de bloc de mots en JS

supprimer espace debut et fin de bloc de mots en JS - HTML/CSS - Programmation

Marsh Posté le 29-03-2006 à 17:54:01    

Yo les moules :o
Vous savez si c'est possible avec une regexp de supprimer les espaces en début ou en fin de mot
je cherche à construire ma regexp mais je n'y arrive pas :(
 
 
en gros je veux que :  
____mon chien est beau_____ (les _ étant des espaces au départ)
se transforme en  
mon chien est beau
sans les espaces de devant ni après
 
merki :o

Reply

Marsh Posté le 29-03-2006 à 17:54:01   

Reply

Marsh Posté le 29-03-2006 à 18:07:56    

en pcre (preg_replace)

Code :
  1. #^\s*([^\s]+)\s*$#   ->   \1


et pkoi faire une regex pour ca ? trim() ca te va pas ?
 
edit : arf non ca va pas :D ... je cherche ;)


Message édité par afbilou le 29-03-2006 à 18:10:38
Reply

Marsh Posté le 29-03-2006 à 18:26:11    

Ca devrait etre un truc de ce genre :

Code :
  1. #^\s*(\S(?:\S|\s(?=.*\S))+)#


 
l'idee :
 
1. consommer les blancs de debut de ligne avec le \\s*\\S ... \S que l'on inclu dans le resultat car c'est le premier caractere de la partie interressante !
 
2. puis la partie interressante sera constitué d'une suite de :
* caractere non blanc : \\S
ou
* caractere blanc qui auront un caractere non blanc klk part sur leur doirte : \\s(?=.*\\S)


Message édité par afbilou le 29-03-2006 à 18:31:34
Reply

Marsh Posté le 29-03-2006 à 18:31:02    

>> caractere blanc qui auront un caractere non blanc klk part sur leur doirte
et si y a deux espaces entre certains mots ? :D

Reply

Marsh Posté le 29-03-2006 à 18:32:17    

Djebel1 a écrit :

>> caractere blanc qui auront un caractere non blanc klk part sur leur doirte
et si y a deux espaces entre certains mots ? :D


ben ca marche tres bien ...  :heink:
 
pour les flemmards mauvaises langues :p

Code :
  1. preg_replace('#^\s*(\S(?:\S|\s(?=.*\S))+)#', '\1', $texte)


 
EDIT : jme suis enflammé ... le monsieur demande en JS :s
a moins ke JS accepte les PCRE ... ce sera pas possible ... sinon ce sera le meme pattern :)


Message édité par afbilou le 29-03-2006 à 18:38:35
Reply

Marsh Posté le 29-03-2006 à 18:42:09    

Je suis un boulay le retour ...
 

Code :
  1. #^\s*(\S.*\S)# ---> \1


fera la meme chose :s


Message édité par afbilou le 29-03-2006 à 18:42:31
Reply

Marsh Posté le 29-03-2006 à 18:48:53    

en JS ca doit etre ca la syntaxe : ^[:blank:]*([^[:blank:]].*[^[:blank:]])

Reply

Marsh Posté le 29-03-2006 à 20:29:37    

merci mon chti afbilou mais je suis passé par 2 regexp
 

Code :
  1. mastring.replace(/^s+/, "" ).replace(/s+$/,"" );


Message édité par gatsu35 le 29-03-2006 à 20:29:52
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed