Autor Zpráva
anonym035
Profil
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
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

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: