คลาสอักขระอย่างง่าย “[ ]” จะจับคู่อักขระที่ระบุทั้งหมดที่อยู่ในนั้น นิพจน์ต่อไปนี้ตรงกับอักขระยกเว้น xyz
"[xyz]"
ในทำนองเดียวกัน นิพจน์ต่อไปนี้จะจับคู่สระทั้งหมดในสตริงอินพุตที่กำหนด
"([^aeiouAEIOU0-9\\W]+)";
จากนั้น คุณสามารถลบอักขระที่ตรงกันได้โดยการแทนที่ด้วยสตริงว่าง “” โดยใช้เมธอด replaceAll()
ตัวอย่างที่ 1
คลาสสาธารณะ RemovingVowels { โมฆะสาธารณะหลัก ( สตริง args [] ) { อินพุตสตริง ="สวัสดี ยินดีต้อนรับสู่ tutorialspoint"; สตริง regex ="[aeiouAEIOU]"; ผลลัพธ์สตริง =input.replaceAll(regex, ""); System.out.println("ผลลัพธ์:"+ผลลัพธ์); }}
ผลลัพธ์
ผลลัพธ์:H wlcm t ttrlspnt
ตัวอย่างที่ 2
<ก่อน> นำเข้า java.util.Scanner; นำเข้า java.util.regex.Matcher; นำเข้า java.util.regex.Pattern; การทดสอบคลาสสาธารณะ { โมฆะคงที่สาธารณะหลัก (สตริง args [] ) { Scanner sc =สแกนเนอร์ใหม่ (ระบบ .ใน); System.out.println("ป้อนสตริงอินพุต:"); อินพุตสตริง =sc.nextLine(); สตริง regex ="[aeiouAEIOU]"; ค่าคงที่สตริง =""; System.out.println("อินพุตสตริง:\n"+อินพุต); //การสร้างวัตถุรูปแบบ Pattern pattern =Pattern.compile(regex); //จับคู่รูปแบบที่คอมไพล์แล้วใน String Matcher matcher =pattern.matcher(input); //การสร้างบัฟเฟอร์สตริงว่าง StringBuffer sb =ใหม่ StringBuffer(); ในขณะที่ (matcher.find()) { ค่าคงที่ =ค่าคงที่+matcher.group(); matcher.appendReplacement(sb, ""); } matcher.appendTail(sb); System.out.println("ผลลัพธ์:\n"+ sb.toString()+ค่าคงที่ ); }}ผลลัพธ์
ป้อนสตริงอินพุต:นี่คือตัวอย่างสตริง textInput:นี่คือตัวอย่าง textResult:ths s smpl txtiaaee