⊗jsSpRERP 126 of 294 menu

กลุ่มจับในเมธอด replace ของ Regular Expression ใน JavaScript

เมื่อทำงานกับเมธอด replace หาก เราใส่บางอย่างลงในกลุ่มจับใน regex ในสตริงที่ใช้แทนที่ เราสามารถแทรกเนื้อหาของ กลุ่มจับนั้นได้โดยเขียนเครื่องหมายดอลลาร์ $ และหมายเลขกลุ่มจับ ตัวอย่างเช่น $1 - กลุ่มจับแรก $2 - กลุ่มจับที่สอง และต่อไปเรื่อยๆ

มาดูตัวอย่างกันว่าทำไมถึงต้องใช้และจะใช้สิ่งนี้อย่างไร

ตัวอย่าง

มาหาตัวเลขทั้งหมดแล้วแทนที่ด้วย ตัวเลขเดียวกัน แต่อยู่ในวงเล็บกัน สำหรับสิ่งนี้ เราจะแทนที่ตัวเลขทั้งหมดที่พบด้วย ตัวมันเอง แต่อยู่ในวงเล็บ:

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

ผลลัพธ์ที่ได้ในตัวแปรจะเป็นดังนี้:

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

ตัวอย่าง

มาหาสตริงทั้งหมดที่แสดงถึง ตัวเลขที่มี 'x' ล้อมรอบ และแทนที่ตัวเลขเหล่านี้ ด้วยตัวมันเอง แต่มีเครื่องหมาย '!' ล้อมรอบ:

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

ผลลัพธ์ที่ได้ในตัวแปรจะเป็นดังนี้:

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

ตัวอย่าง

มาลองแก้ปัญหาต่อไปนี้: มีสตริง รูปแบบ 'aaa@bbb' - ตัวอักษร แล้วตามด้วย @ แล้วตามด้วยตัวอักษร จำเป็นต้องสลับตำแหน่งตัวอักษร ก่อน @ และหลัง

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

ผลลัพธ์ที่ได้ในตัวแปรจะเป็นดังนี้:

'bbb@aaa ddd@ccc'

โจทย์ปฏิบัติ

กำหนดสตริง:

let str = '12 34 56 78';

สลับตำแหน่งตัวเลขในตัวเลขสองหลักทั้งหมด

กำหนดสตริงวันที่:

let str = '31.12.2025';

แปลงวันที่นี้เป็นรูปแบบ '2025.12.31'

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ