| 

.NET C# Java Javascript Exception

1
Hi ich will aus einem Sting mehrere chars durch andere ersetzen:

var str = "!blabla!blabla!";
str.replace('!','?'); //str: "?blabla!blabla!


es sollen aber Alle ! ersetzt werden. Wie muss ich vorgehen? (gerne auch mit jquery)

Grüße
08.03.2010
MBrittner 35 1 4
2 Antworten
2
Verwende dafür einen regulären Ausdruck und den g-Parameter:
var str = "!blabla!blabla!";
str.replace(/!/g, '?'); //str: "?blabla?blabla?
09.03.2010
FalkP 3,3k 3 8
1
kannst du mir für die verschiedenen Parameter noch einen Link geben?
MBrittner 09.03.2010
1
und danke natürlich!
MBrittner 09.03.2010
Bei mir wird nun Alles ersetzt :(
MBrittner 09.03.2010
1
Z.B. bei SELFHTML: http://de.selfhtml.org/javascript/objekte/regexp.htm
FalkP 10.03.2010
2
String.prototype.replaceAll = function(pcFrom, pcTo){
var c = this;
while (c.indexOf(pcFrom) > -1)
c = c.replace(pcFrom, pcTo);
return c;
};

var str = "!blabla!blabla!";
str.replaceAll ('!', '?'); //str: "?blabla?blabla?
10.03.2010
Floyd 14,6k 3 9
Floyd 14,6k 3 9
Wieso wurde mein Beitrag begativ bewertet? Begründung bitte!

Die Antwort ermöglicht genau das gewünschte vorgehen und stellt einen alternativen Lösungsweg zu der Lsöung mit RegEx dar.
Floyd 10.03.2010
Auch dir vielen Dank Floyd! +1
MBrittner 10.03.2010
1
mir gefällt diese Lösung besser, da sie die Funktion direkt in eine Methode kapselt und man somit die Implementierung (ob nun mit RegEx oder ohne) jederzeit für alle Anwender der Funktion ändern kann ohne dass die Stellen an denen diese aufgerufen werden, angepasst werden müssten.
Vash 13.03.2010
2
Funktioniert aber nur, wenn der gesuchte String nicht in der Ersetzung vorkommt: str.replaceAll('!', '\\!')
theorist 05.02.2011
Finde die Antwort auch gut
fantaizee 07.12.2011

Stelle deine Javascript-Frage jetzt!