Úloha 4 – Metoda .replace() a globální nahrazení textu

Sitio: Moodle ZČU
Curso: Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný)
Libro: Úloha 4 – Metoda .replace() a globální nahrazení textu
Imprimido por: Nepřihlášený host
Día: domingo, 18 de octubre de 2026, 07:34

Úvod do úlohy

Velmi často potřebujeme upravit text tak, aby místo určité části obsahoval něco jiného. Může jít o jednoduché nahrazení jednoho slova, opravu překlepu nebo hromadnou výměnu všech výskytů určitého znaku. V JavaScriptu k tomu slouží metoda replace(), která je velice mocná – umí provést jednoduché nahrazení i složité úpravy za pomoci regulárních výrazů. Porozumět rozdílům mezi základním a „pokročilým“ použitím je důležité, protože díky tomu dokážeme snadno zvládnout i složité textové transformace.


Teorie a principy

  1. Základní použití replace()

    • První argument je hledaný řetězec.

    • Druhý argument je náhrada, kterou chceme vložit.

    • Nahrazuje pouze první výskyt hledaného řetězce.

  2. Globální režim (g)

    • Pokud potřebujeme nahradit všechny výskyty, musíme použít regulární výraz s příznakem g.

  3. Case-insensitive režim (i)

    • Pokud chceme nahradit bez ohledu na velikost písmen, použijeme příznak i.

    • Lze kombinovat – např. /text/gi znamená „nahraď všechna slova text bez ohledu na velikost písmen“.

  4. Spolupráce s regulárními výrazy

    • replace() je úzce propojena s regulárními výrazy. Díky nim můžeme hledat složitější vzory (např. všechna čísla, e-mailové adresy, skupiny písmen).

    • Pro začátečníky je důležité vědět, že když místo řetězce použijeme /.../, pracujeme s regulárním výrazem.


Praktické příklady kódu


Typické chyby / záludnosti

  • Očekávání, že replace() nahradí všechny výskyty bez použití g

    data-start="2311" data-end="2380">

  • Zapomenutí, že regulární výraz se zapisuje do lomítek /.../

  • Neuvědomění si rozdílu mezi "" a regulárním výrazem

    • "text".replace("T", "X") – nenahradí, protože hledá přesnou shodu (velké písmeno).

    • "text".replace(/t/i, "X") – funguje bez ohledu na velikost písmen.


Shrnutí

  • replace(hledane, nahrada) mění jen první výskyt.

  • Pokud chceme nahradit všechny výskyty, použijeme regulární výraz s příznakem g.

  • Příznak i zajistí ignorování velikosti písmen.

  • replace() vždy vrací nový řetězec, původní zůstává beze změny.

  • Regulární výrazy dávají replace() velkou flexibilitu při vyhledávání vzorů.

Úloha

Zadání (kontext úlohy):

Máš text, ve kterém se několikrát objevuje jedno slovo. Tvým úkolem je nahradit ho jiným slovem, aby věta dávala nový význam.


Cíl úlohy:

Procvičit si použití metody .replace() pro základní nahrazení i pro nahrazení všech výskytů pomocí regulárního výrazu.


Vstupní podmínky:
  • Student pracuje pouze s nově vytvořeným souborem script.js.

  • V souboru si vytvoří proměnnou text s libovolnou větou, kde se jedno slovo opakuje víckrát.


Požadovaný výstup:
  1. Do konzole se vypíše věta, kde se nahradí jen první výskyt slova.

  2. Do konzole se vypíše věta, kde se nahradí všechny výskyty tohoto slova.


Doplňující pokyny:
  • Pro nahrazení všech výskytů je potřeba použít regulární výraz s příznakem g.

  • Pamatuj, že původní text zůstane nezměněný – výsledky si ulož do nových proměnných.

Řešení úlohy

Co je zde splněno:

  • vytvoření proměnné text s opakujícím se slovem,

  • použití .replace("slovo","náhrada") pro první výskyt,

  • použití regulárního výrazu /slovo/g pro nahrazení všech výskytů,

  • výpis všech verzí textu do konzole.

Vylepšení oproti začátečnické verzi:

  • možnost využití novější metody .replaceAll() místo regulárního výrazu (přehlednější zápis),

  • šablonové řetězce pro čistší a kratší výpis.

Poznámky:

  • replace("slovo", "náhrada") nahradí jen první nalezený výskyt.

  • Pro nahrazení všech výskytů je nutný regulární výraz s příznakem g (global).

  • Původní text zůstává nezměněný, výsledky se ukládají do nových proměnných.