อักขระเมตา “\b ” ตรงกับขอบเขตของคำและ [a-zA-Z] จะจับคู่อักขระหนึ่งตัวจากตัวอักษรภาษาอังกฤษ (ทั้งสองกรณี) กล่าวโดยย่อ นิพจน์ \\b[a-zA-Z] จับคู่อักขระตัวเดียวจากตัวอักษรภาษาอังกฤษ ทั้งสองกรณีหลังขอบเขตคำทุกคำ
ดังนั้น ในการดึงอักษรตัวแรกของแต่ละคำ −
-
รวบรวมนิพจน์ข้างต้นของวิธีการคอมไพล์ () ของคลาส Pattern
-
รับออบเจ็กต์ Matcher ที่ข้ามสตริงอินพุตที่ต้องการเป็นพารามิเตอร์ไปยังเมธอด matcher() ของคลาส Pattern
-
สุดท้าย สำหรับแต่ละการแข่งขัน ให้รับอักขระที่ตรงกันโดยเรียกใช้เมธอด group()
ตัวอย่าง
<ก่อน> นำเข้า java.util.Scanner; นำเข้า java.util.regex.Matcher; นำเข้า java.util.regex.Pattern; FirstLetterExample คลาสสาธารณะ { public static void main (String [] args) { Scanner sc =สแกนเนอร์ใหม่ (ระบบ .ใน); System.out.println("ป้อนข้อความตัวอย่าง:"); ข้อมูลสตริง =sc.nextLine(); สตริง regex ="\\b[a-zA-Z]"; //การสร้างวัตถุรูปแบบ Pattern pattern =Pattern.compile(regex); // การสร้างวัตถุตัวจับคู่ Matcher matcher =pattern.matcher (ข้อมูล); System.out.println("อักษรตัวแรกของแต่ละคำจากสตริงที่กำหนด:"); ในขณะที่ (matcher.find ()) { System.out.print (matcher.group ()+" "); } }}ผลลัพธ์
ป้อนข้อความตัวอย่าง:National Intelligence Agency Research &Analysis Wing อักษรตัวแรกของแต่ละคำจากสตริงที่กำหนด:N I A R A W