Kateri je najhitrejši način za zamenjavo vseh primerov niza/znakov v nizu v javascriptu? Z zanko while
, zanko for
ali regularnim izrazom?
var mystring = 'This is a string';
var newString = mystring.replace(/i/g, "a");
newString je zdaj 'Thas as a strang'
Kaj je najhitrejše, ne vem, vem pa, kaj je najbolj berljivo - da je najkrajše in najpreprostejše. Tudi če je malo počasnejša od drugih rešitev, jo je vredno uporabiti.
Torej uporabite:
"string".replace("a", "b");
"string".replace(/abc?/g, "def");
In uživajte v dobri kodi namesto v hitrejši (no... 1/100000 sekunde ni razlika) in grdi kodi. ;)
Uporabite metodo `premenjaj()
predmeta String
.
Kot je omenjeno v izbranem odgovoru, je treba v regexu uporabiti zastavico /g, da se nadomestijo vsi primerki podreza v nizu.