Aký je najrýchlejší spôsob nahradenia všetkých výskytov reťazca/znaku v reťazci v jazyku JavaScript? Medzitým, cyklus for
, regulárny výraz?
var mystring = 'This is a string';
var newString = mystring.replace(/i/g, "a");
newString je teraz 'To ako cudzí'
Čo je najrýchlejšie neviem, ale viem, čo je najčítanejšie - to, čo je najkratšie a najjednoduchšie. Aj keď je to trochu pomalšie ako iné riešenie, oplatí sa to použiť.
Takže používajte:
"string".replace("a", "b");
"string".replace(/abc?/g, "def");
A užívajte si dobrý kód namiesto rýchlejšieho (no... 1/100000 sek. nie je rozdiel) a škaredého ;)
Použite metódu replace()
objektu String
.
Ako je uvedené vo vybranej odpovedi, v regexe by sa mal použiť príznak /g, aby sa nahradili všetky výskyty podreťazca v reťazci.