web-dev-qa-db-fra.com

Supprimer les espaces à l'intérieur d'une chaîne en javascript

J'ai lu cette question à propos de javascript trim, avec une réponse regex.

Ensuite, je suppose que trim supprime l’espace interne entre Hello et World.

function myFunction() {
    alert("Hello World ".trim());
}

[~ # ~] édité [~ # ~]

Pourquoi je m'attendais à ça!?

Absurdité! Évidemment, les garnitures ne suppriment pas les espaces intérieurs !, seulement les espaces de début et de fin, c’est comme ça qu’ils fonctionnent, alors c’était une très mauvaise question, toutes mes excuses.

69
Hernán Eche

Pour supprimer les caractères d'espacement, utilisez

"hello world".replace(/\s/g, "");

pour tous les espaces blancs, utilisez la suggestion de Rocket dans les commentaires ci-dessous!

177
Henrik Andersson

Probablement parce que vous avez oublié de implémentez la solution dans la réponse acceptée . C'est le code qui fait fonctionner trim().

mettre à jour

Cette réponse ne s'applique qu'aux navigateurs plus anciens. Les nouveaux navigateurs prennent apparemment en charge trim() de manière native.

7
John Conde

Vous pouvez utiliser la méthode Strings replace avec une expression régulière.

"Hello World ".replace(/ /g, "");

La méthode replace () renvoie une nouvelle chaîne avec tout ou partie des correspondances d'un modèle remplacées par un remplacement. Le modèle peut être une chaîne ou un RegExp

RegExp

  • // - Expression régulière correspondant à des espaces

  • g - Indicateur global; trouver tous les matchs plutôt que de s'arrêter après le premier match

const str = "H    e            l l       o  World! ".replace(/ /g, "");
document.getElementById("greeting").innerText = str;
<p id="greeting"><p>
1
JSON C11