462 Stimmen

Ersetzen aller Leerzeichen in einer Zeichenkette durch '+'

Ich habe eine Zeichenfolge, die mehrere Leerzeichen enthält. Ich möchte diese durch ein Pluszeichen ersetzen. Ich dachte, ich könnte verwenden

var str = 'a b c';
var replaced = str.replace(' ', '+');

aber es ersetzt nur das erste Vorkommen. Wie kann ich erreichen, dass alle Vorkommen ersetzt werden?

618voto

Nick Craver Punkte 609016

Sie benötigen die /g (globale) Option, etwa so:

var replaced = str.replace(/ /g, '+');

Sie können es hier ausprobieren . Im Gegensatz zu den meisten anderen Sprachen wird in JavaScript standardmäßig nur das erste Vorkommen ersetzt.

602voto

Dagg Nabbit Punkte 72150

Hier ist eine Alternative, die keine Regex benötigt:

var str = 'a b c';
var replaced = str.split(' ').join('+');

134voto

epascarello Punkte 194350
var str = 'a b c';
var replaced = str.replace(/\s/g, '+');

105voto

Jitendra Pancholi Punkte 7368

Sie können es auch so machen:

str = str.replace(/\s/g, "+");

Schauen Sie sich dies an fiddle .

34voto

Andrew Punkte 463

Globale Suche in der Zeichenkette verwenden. g flag

str.replace(/\s+/g, '+');

Quelle: replaceAll-Funktion

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X