$("#topNav" + $("#breadCrumb2nd").text().replace(" ", "")).addClass("current");
Ceci est un extrait de mon code. Je veux ajouter une classe à un ID après avoir obtenu la propriété de texte d'un autre ID. Le problème, c'est que l'ID contenant le texte dont j'ai besoin contient des espaces entre les lettres.
J'aimerais que les espaces blancs soient supprimés. J'ai essayé TRIM()
et REPLACE()
cela ne fonctionne que partiellement. Le REPLACE()
seul supprime le 1er espace.
javascript
jquery
Cecil Theodore
la source
la source
.replace(/\s+/g, '')
ce qui est tout à fait correct pour moi.x = " Many spaces before and after "
y = x.replace(/(^\s+|\s+$)/g, "")
les^\s
espaces blancs après le début de la chaîne, les\s$
espaces blancs à la fin de la chaîne, l'|
est pour / ou dans le groupe et leg
modificateur est expliqué dans les commentaires ci-dessus. Vous avez également besoin de+
quantificateurs après chacun,\s
car vous souhaitez capturer une ou plusieurs instances d'espaces blancs.Remplacera uniquement le premier espace blanc , cela inclut les espaces, les tabulations et les nouvelles lignes.
Pour remplacer tous les espaces dans la chaîne, vous devez utiliser le mode global
la source
+
n'ajoute rien car nous utilisons déjà leg
modificateur (global)L'utilisation
String.prototype.replace
avec regex, comme mentionné dans les autres réponses, est certainement la meilleure solution.Mais, juste pour le plaisir, vous pouvez également supprimer tous les espaces blancs d'un texte en utilisant
String.prototype.split
etString.prototype.join
:la source