J'essaie d'utiliser ce code pour remplacer les espaces par _, cela fonctionne pour le premier espace de la chaîne mais toutes les autres instances d'espaces restent inchangées. Quelqu'un sait pourquoi?
function updateKey()
{
var key=$("#title").val();
key=key.replace(" ","_");
$("#url_key").val(key);
}
la source
/ /g
utiliser/\ /g
- les deux fonctionnent en Javascript. Ce dernier fonctionne également dans CoffeeScript..replace(/ /g,"_");
plus rapide que.split(' ').join('_')
.essaye ça:
qui fera une recherche / remplacement globale
remplacement javascript
la source
Pour répondre à la question de Prasanna ci-dessous:
Vous utiliseriez la même fonction
replace
avec une expression régulière différente. L'expression pour les espaces blancs est\s
et l'expression pour "1 ou plusieurs fois" est+
le signe plus, vous devez donc simplement remplacer la réponse d'Adam par ce qui suit:la source
Vous pouvez essayer ceci
Il remplacera même plusieurs espaces par un seul «-».
la source
J'ai créé un test de performance JS pour cela http://jsperf.com/split-and-join-vs-replace2
la source
Remplacer les espaces par un trait de soulignement
Sortie: How_are_you
la source
Je sais que c'est vieux mais je n'ai vu personne mentionner l'extension de la chaîne
prototype
.la source
En utilisant simplement
replace
:la source