Autor | Zpráva | ||
---|---|---|---|
anonym035 Profil |
#1 · Zasláno: 11. 6. 2017, 18:25:21
Zdravím, napísal som kód, ktorý v zadanom texte nájde nejaké slovo pomocou RegExp a nahradí ho iným pomocou string.replace. Problém je, že ak je to slovo v texte viackrát, nahradí len to prvé slovo. Skúšal som nahrádzať priamo ten regulérny výraz, a dať tomu parameter g, ale potom sa mi nahradil celý reťazec za to slovo. Viete mi prosím poradiť, ako by som nahradil všetky vyhovujúce slová (v tomto prípade "ahoj" nahradiť s "nazdar")? Kód vyzerá takto:
text = prompt("", "Sem vlož text"); replacewhat = ["ahoj"]; replacewith = ["nazdar"]; for (var i = 0; i < replacewhat.length; i++) { pattern = new RegExp(".*(" + replacewhat[i] + ").*"); if (pattern.test(text)) { text = text.replace(replacewhat[i], replacewith[i]); } else { alert("Zadaný text neobsahuje požadované slová!"); }; }; document.write(text); |
||
Str4wberry Profil |
#2 · Zasláno: 11. 6. 2017, 18:39:58
text = text.replace(/ahoj/g, 'nazdar'); |
||
anonym035 Profil |
Str4wberry:
Ďakujem, síce som to potreboval trošku inak, ale vďaka tebe som prišiel aj na to, čo potrebujem :D Fakt veľká vďaka |
||
Časová prodleva: 6 let
|
0