Zsebek a replace metódusban a JavaScript reguláris kifejezéseiben
A replace metódus használatakor, ha
berakunk valamit egy zsebbe a reguláris kifejezésben,
akkor a csere sztringjében beilleszthetjük ennek
a zsebnek a tartalmát a dollár jel $
és a zseb sorszáma megadásával. Például, $1 - az első
zseb, $2 - a második zseb és így tovább.
Hogy mire jó ez és hogyan kell használni, nézzük meg példákon.
Példa
Keressük meg az összes számot és cseréljük ki őket ugyanazokra a számokra, de zárójelben. Ehhez az összes megtalált számot lecseréljük magukra, de zárójelben:
let str = '1 23 456 xax';
let res = str.replace(/(\d+)/g, '($1)');
Ennek eredményeképpen a változóba a következő íródik:
'(1) (23) (456) xax'
Példa
Keressük meg az összes olyan sztringet, amely
számokat reprezentál
körülvéve 'x'-ekkel, és cseréljük ki ezeket
a számokat magukra, de '!' jelekkel körülvéve:
let str = 'x1x x23x x456x xax';
let res = str.replace(/x(\d+)x/g, '!$1!');
Ennek eredményeképpen a változóba a következő íródik:
'!1! !23! !456! xax'
Példa
Oldjuk meg a következő feladatot: adottak
'aaa@bbb' formájú sztringek - betűk, majd @ jel,
majd betűk. Fel kell cserélni a @ jel előtti és utáni betűket.
let str = 'aaa@bbb ccc@ddd';
let res = str.replace(/([a-z]+)@([a-z]+)/g, '$2@$1');
Ennek eredményeképpen a változóba a következő íródik:
'bbb@aaa ddd@ccc'
Gyakorlati feladatok
Adott egy sztring:
let str = '12 34 56 78';
Cserélje fel a számjegyeket az összes kétjegyű számban.
Adott egy dátum sztring:
let str = '31.12.2025';
Alakítsa át ezt a dátumot '2025.12.31' formátumra.