replaceAll in Javascript?

JavaScript

replaceAll in Javascript?

replaceAll in Javascript?

Heute mal wieder ein kleines JavaScript Tutorial. Wie jeder weiß, gibt es in JavaScript eine Funkion namens String.replace(string1,string1), welches DAS ERSTE VORKOMMEN von string1 innerhalb des String Objektes durch string2 ersetzt. Mir persönlich nutzt das in der Regel wenig. Der Fall, dass ich nicht das erste, sondern alle Vorkommen innerhalb eines Strings ersetzen möchte ist erheblich häufiger. Doch auch das wird von der replace Funkion geleistet. Man muss lediglich eine RegularExpression anwenden. Ein vorher – nachher Beispiel:

var test = blablabla.replace(“la”,”");

resultiert für test in “bblabla”.

Um alle “la”´s aus dem String zu entfernen ist lediglich eine kleine Anpassung erforderlich:

var test = blablabla.replace(/la/g,”");

führt hier zum gewünschten Ergebnis. Wichtig: handelt es sich bei dem Wert durch den ersetzt werden soll (im Beispiel “la”) um eine Variable muss diese zuvor anders deklariert werden. Das Ändert unser Beispiel wie folgt:

var replacer = new RegExp(“la”,”g”);

var test = blablabla.replace(replacer,”");

Was hat es mit dem “g” auf sich?

In der Ausrdrucksweise von RegularExpressions kommt dem “/g” eine besondere Stellung zu. Es steht für “Global” und sorgt dafür, dass der Suchprozess nicht nach dem ersten vorkommen beendet wird.

Diskussion

2 Kommentare zu “replaceAll in Javascript?”

  1. Thx! War mir eine große Hilfe!

    LG

    Posted by cykan | November 29, 2011, 15:36
  2. Vielen Dank, das war der Tip den ich gebraucht habe.

    var replacer = new RegExp(“[^a-z0-9]“,”g”);

    Ist die einzige Möglichkeit auch auf Zeichen zu begrenzen …

    Posted by Jericho | Februar 4, 2012, 16:18

Post a comment