Próbuję użyć tego kodu do zamiany spacji na _, działa dla pierwszej spacji w ciągu, ale wszystkie pozostałe wystąpienia spacji pozostają niezmienione. Czy ktoś wie dlaczego?
function updateKey()
{
var key=$("#title").val();
key=key.replace(" ","_");
$("#url_key").val(key);
}
javascript
string
Kliknij opcję Upvote
źródło
źródło
/ /g
użycia/\ /g
- oba działają w JavaScript. Ten ostatni działa również w CoffeeScript..replace(/ /g,"_");
szybszy niż.split(' ').join('_')
.Spróbuj tego:
spowoduje to globalne wyszukiwanie / zamianę
javascript replace
źródło
Aby odpowiedzieć na pytanie Prasanny poniżej:
Użyłbyś tej samej funkcji
replace
z innym wyrażeniem regularnym. Wyrażeniem spacji jest,\s
a wyrażenie „1 lub więcej razy” jest+
znakiem plus, więc wystarczy zastąpić odpowiedź Adama następującą:źródło
Możesz tego spróbować
Zastąpi nawet wiele spacji pojedynczym „-”.
źródło
Stworzyłem dla niego test wydajności JS http://jsperf.com/split-and-join-vs-replace2
źródło
Zastąp spacje znakiem podkreślenia
Wyjście: How_are_you
źródło
Wiem, że to jest stare, ale nie widziałem, żeby ktoś wspominał o przedłużeniu Łańcucha
prototype
.źródło
Po prostu używając
replace
:źródło