Estou tentando usar esse código para substituir espaços por _, ele funciona para o primeiro espaço na cadeia de caracteres, mas todas as outras instâncias de espaços permanecem inalteradas. Alguém sabe por que?
function updateKey()
{
var key=$("#title").val();
key=key.replace(" ","_");
$("#url_key").val(key);
}
fonte
/ /g
usar/\ /g
- ambos funcionam em Javascript. O último também funciona no CoffeeScript..replace(/ /g,"_");
mais rápido que.split(' ').join('_')
.tente isto:
que fará uma localização / substituição global
substituir javascript
fonte
Para responder à pergunta de Prasanna abaixo:
Você usaria a mesma função
replace
com uma expressão regular diferente. A expressão para espaço em branco é\s
e a expressão para "1 ou mais vezes" é+
o sinal de mais, então você substitui a resposta de Adam pelo seguinte:fonte
Você pode tentar isso
Ele até substituirá vários espaços por um único '-'.
fonte
Eu criei o teste de desempenho JS para ele http://jsperf.com/split-and-join-vs-replace2
fonte
Substituir espaços por sublinhado
Saída: How_are_you
fonte
Eu sei que isso é antigo, mas não vi ninguém mencionar a extensão da String
prototype
.fonte
Apenas usando
replace
:fonte