11
votes

JavaScript et Regex: Supprimer l'espace après le dernier mot d'une chaîne

J'ai une chaîne comme celle-là: xxx pré>

mon objectif est de supprimer le dernier espace de la chaîne. J'utiliserais, p> xxx pré>

mais s'il n'y a pas d'espace après le dernier caractère de la chaîne, cela supprimera le dernier caractère de la chaîne. P>

J'aimerais utiliser P>

str.replace("regex",'');


6 Réponses :


3
votes

Vous pouvez utiliser ce code pour supprimer un seul espace de suivi: xxx

Pour supprimer tous les espaces de fuite: xxx

$ correspond à la fin de l'entrée en mode normal (il correspond à la fin d'une ligne en mode multiligne).


0 commentaires

9
votes

Lorsque vous devez supprimer tous les espaces à la fin:

str = $.trim(str);


0 commentaires

1
votes

Essayez la regex (+) $ car $ dans regex correspond à la fin de la chaîne. Cela va nuire à tous les espaces de la fin de la chaîne.

Certains programmes ont une fonction pour faire de même, je ne crois pas que la bibliothèque Stadard JavaScript a cette fonctionnalité.

Fiche de référence Regex


0 commentaires

32
votes

Faites une recherche Google pour "JavaScript Tarch" et vous trouverez beaucoup de solutions différentes solutions.

Voici un simple: xxx


1 commentaires

Si vous avez besoin de supprimer plus d'un espace str = str.replace (/ \ s * $ /, ""); Stackoverflow.com/a/17938206/9161843




0
votes

Exemple de travail:

   var str  = "Hello World  ";
   var ans = str.replace(/(^[\s]+|[\s]+$)/g, '');

   alert(str.length+" "+ ans.length);


2 commentaires

Ne fonctionne pas la voie posée dans cette question. Essayez str = "Hello World" et l'espace du début sera également enlevé, Strd = "Hello World".


str.replace (/ \ s + $ /, '') ou str.replace (/ \ s * $ /, '') fonctionne parfaitement.