Fickor i replace-metoden i JavaScripts reguljära uttryck
När du arbetar med metoden replace, om
vi lägger något i en ficka i det reguljära uttrycket, så
kan vi i ersättningssträngen infoga innehållet från
denna ficka genom att skriva dollartecknet $
och fickans nummer. Till exempel, $1 - första
fickan, $2 - andra fickan och så vidare.
Låt oss titta på exempel för att förstå varför detta är användbart och hur man använder det.
Exempel
Låt oss hitta alla siffror och ersätta dem med samma siffror, men inom parentes. För att göra detta kommer vi att ersätta alla hittade siffror med sig själva, men inom parentes:
let str = '1 23 456 xax';
let res = str.replace(/(\d+)/g, '($1)');
Som ett resultat kommer följande att skrivas in i variabeln:
'(1) (23) (456) xax'
Exempel
Låt oss hitta alla strängar som representerar
siffror med 'x' runt omkring och ersätta dessa
siffror med sig själva, men med '!'-tecken runt omkring:
let str = 'x1x x23x x456x xax';
let res = str.replace(/x(\d+)x/g, '!$1!');
Som ett resultat kommer följande att skrivas in i variabeln:
'!1! !23! !456! xax'
Exempel
Låt oss lösa följande problem: det finns strängar
av typen 'aaa@bbb' - bokstäver, sedan @-symbol,
sedan bokstäver. Vi behöver byta plats på bokstäverna
före @ och efter.
let str = 'aaa@bbb ccc@ddd';
let res = str.replace(/([a-z]+)@([a-z]+)/g, '$2@$1');
Som ett resultat kommer följande att skrivas in i variabeln:
'bbb@aaa ddd@ccc'
Praktiska uppgifter
Given en sträng:
let str = '12 34 56 78';
Byt plats på siffrorna i alla tvåsiffriga nummer.
Given en sträng med ett datum:
let str = '31.12.2025';
Konvertera detta datum till '2025.12.31'.