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:
let str = '1 23 456 xax';
let res = str.replace(/(\d+)/g, '($1)');
Tulemusena kirjutatakse muutujasse järgmine:
'(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:
let str = 'x1x x23x x456x xax';
let res = str.replace(/x(\d+)x/g, '!$1!');
Tulemusena kirjutatakse muutujasse järgmine:
'!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.
let str = 'aaa@bbb ccc@ddd';
let res = str.replace(/([a-z]+)@([a-z]+)/g, '$2@$1');
Tulemusena kirjutatakse muutujasse järgmine:
'bbb@aaa ddd@ccc'
Praktilised ülesanded
Antud string:
let str = '12 34 56 78';
Vahetage kohad kõigi kahekohaliste numbrite numbrite vahel.
Antud kuupäevaga string:
let str = '31.12.2025';
Teisendage see kuupäev kujule '2025.12.31'.