Tasked replace meetodi regulaaravaldistes JavaScriptis

Töötades meetodiga replace, kui me paneme midagi taskusse regulaaravaldises, siis asendusstringis saame selle tasku sisu sisestada, kirjutades dollari märgi $ ja tasku numbri. Näiteks $1 - esimene task, $2 - teine task ja nii edasi.

Miks seda vaja on ja kuidas seda kasutada, vaatame näidete varal.

Näide

Leiame kõik numbrid ja nende asemele paneme samad numbrid, kuid ümarsulgudes. Selleks kõik leitud numbrid asendame nendega endaga, kuid sulgudes:

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

Tulemusena kirjutatakse muutujasse järgmine:

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

Näide

Leiame kõik stringid, mis esindavad numbreid, mille ümber on iksid, ja asendame need numbrid endaga, kuid ümber '!' märkidega:

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

Tulemusena kirjutatakse muutujasse järgmine:

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

Näide

Lahendame järgmise ülesande: antud stringid kujul 'aaa@bbb' - tähed, siis @, siis tähed. On vaja vahetada tähed enne @ ja pärast @ omavahel.

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

Tulemusena kirjutatakse muutujasse järgmine:

javascript'bbb@aaa ddd@ccc'

Praktilised ülesanded

Задание 1

Antud string:

javascriptlet str = '12 34 56 78';

Vahetage kohad kõigi kahekohaliste numbrite numbrite vahel.

Задание 2

Antud kuupäevaga string:

javascriptlet str = '31.12.2025';

Teisendage see kuupäev kujule '2025.12.31'.