Ich versuche, diesen Code zu verwenden, um Leerzeichen durch _ zu ersetzen. Er funktioniert für das erste Leerzeichen in der Zeichenfolge, aber alle anderen Instanzen von Leerzeichen bleiben unverändert. Weiß jemand warum?
function updateKey()
{
var key=$("#title").val();
key=key.replace(" ","_");
$("#url_key").val(key);
}
quelle
/ /g
Verwendung/\ /g
- beide arbeiten in Javascript. Letzteres funktioniert auch in CoffeeScript..replace(/ /g,"_");
schneller als.split(' ').join('_')
.Versuche dies:
das wird ein globales Suchen / Ersetzen tun
Javascript ersetzen
quelle
Um Prasannas Frage unten zu beantworten:
Sie würden dieselbe Funktion
replace
mit einem anderen regulären Ausdruck verwenden. Der Ausdruck für Leerzeichen ist\s
und der Ausdruck für "1 oder mehr Mal" ist+
das Pluszeichen. Sie würden also nur Adams Antwort durch Folgendes ersetzen:quelle
Sie können dies versuchen
Es werden sogar mehrere Leerzeichen durch ein einzelnes '-' ersetzt.
quelle
Ich habe dafür einen JS-Leistungstest erstellt: http://jsperf.com/split-and-join-vs-replace2
quelle
Leerzeichen durch Unterstrich ersetzen
Ausgabe: How_are_you
quelle
Ich weiß, dass dies alt ist, aber ich habe niemanden gesehen, der die Erweiterung des Strings erwähnt hat
prototype
.quelle
Nur mit
replace
:quelle