donp: replace mit Platzhalter

Beitrag lesen

Sagt wer?

Naja, vielleicht nicht ganz, aber es heißt hier u.A.: "Seit der JavaScript-Version 1.5 gilt das Auslesen der Treffer geklammerten Ausdrücke über RegExp.$1, RegExp.$2 und so weiter als veraltet."

Das wird die Probleme 2 und 3 nicht lösen.

Wieso nicht? Es macht genau das was gefordert war: Es durchläuft das Array a mit den Ersetzungswerten und ersetzt im String s alle Vorkommen von a+Arrayindex (also a0 bis a99, wenn a entsprechend lang ist) durch den entsprechenden Ersetzungswert. Probier's doch aus:

  
var a = ['a','b','c','d','e'];  
var s = "-a0-a1-a2-a3-a4-a2-";  
for(x = 0; x < a.length; x++){  
  s = s.replace( new RegExp("a"+x,"g"), a[x] );  
}