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