⊗jsSpRERP 126 of 294 menu

Zachytávače v metodě replace v regulárních výrazech JavaScriptu

Při práci s metodou replace, pokud něco vložíme do zachytávače v regulárním výrazu, pak v řetězci pro nahrazení můžeme vložit obsah tohoto zachytávače napsáním znaku dolaru $ a čísla zachytávače. Například, $1 - první zachytávač, $2 - druhý zachytávač a tak dále.

K čemu to je a jak toho používat se podívejme na příkladech.

Příklad

Najděme všechna čísla a místo nich vložme stejná čísla, ale v kulatých závorkách. K tomu všechna nalezená čísla budeme nahrazovat jimi samými, ale v závorkách:

let str = '1 23 456 xax'; let res = str.replace(/(\d+)/g, '($1)');

Výsledkem bude v proměnné následující:

'(1) (23) (456) xax'

Příklad

Najděme všechny řetězce, představující čísla s 'x' kolem a nahraďme tato čísla jimi samými, ale s '!' znaky kolem:

let str = 'x1x x23x x456x xax'; let res = str.replace(/x(\d+)x/g, '!$1!');

Výsledkem bude v proměnné následující:

'!1! !23! !456! xax'

Příklad

Pojďme vyřešit následující úkol: jsou dány řetězce druhu 'aaa@bbb' - písmena, pak zavináč, pak písmena. Je třeba prohodit místa písmen před @ a po.

let str = 'aaa@bbb ccc@ddd'; let res = str.replace(/([a-z]+)@([a-z]+)/g, '$2@$1');

Výsledkem bude v proměnné následující:

'bbb@aaa ddd@ccc'

Praktické úlohy

Je dán řetězec:

let str = '12 34 56 78';

Prohoďte číslice ve všech dvouciferných číslech.

Je dán řetězec s datem:

let str = '31.12.2025';

Převeďte toto datum na '2025.12.31'.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout