Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ลบอักขระที่ไม่ใช่ตัวอักษรทั้งหมดของสตริงใน Java หรือไม่


split() เมธอดของคลาส String ยอมรับค่า String ที่เป็นตัวแทนของตัวคั่นและแบ่งออกเป็นอาร์เรย์ของโทเค็น (คำ) โดยถือว่าสตริงระหว่างการเกิดขึ้นของตัวคั่นสองตัวเป็นโทเค็นเดียว

ตัวอย่างเช่น หากคุณส่งช่องว่างเดี่ยว “ ” เป็นตัวคั่นสำหรับวิธีนี้และพยายามแยกสตริง วิธีนี้จะถือว่าคำระหว่างช่องว่างสองช่องเป็นโทเค็นเดียวและส่งกลับอาร์เรย์ของคำ (ระหว่างช่องว่าง) ในสตริงปัจจุบัน

ถ้าสตริงไม่มีตัวคั่นที่ระบุ เมธอดนี้จะส่งกลับอาร์เรย์ที่มีสตริงทั้งหมดเป็นองค์ประกอบ

นิพจน์ทั่วไป “\\W+” จะจับคู่อักขระที่ไม่ใช่ตัวอักษรทั้งหมด (เครื่องหมายวรรคตอน ช่องว่าง ขีดล่าง และสัญลักษณ์พิเศษ) ในสตริง

ดังนั้น เพื่อลบอักขระที่ไม่ใช่ตัวอักษรทั้งหมดออกจากสตริง −

  • รับสตริง

  • แยกสตริงที่ได้รับออกเป็นอาร์เรย์ของสตริงโดยใช้ split() วิธีการของคลาส String โดยส่งนิพจน์ทั่วไปที่ระบุข้างต้นเป็นพารามิเตอร์ไป

  • สิ่งนี้จะแยกสตริงที่ทุกอักขระที่ไม่ใช่ตัวอักษรและส่งคืนโทเค็นทั้งหมดเป็นอาร์เรย์สตริง

  • รวมองค์ประกอบทั้งหมดในอาร์เรย์ที่ได้รับเป็นสตริงเดียว

ตัวอย่าง

<ก่อนหน้า>นำเข้า java.util.Scanner; คลาสสาธารณะ RemovingAlphabet { โมฆะคงที่สาธารณะหลัก (สตริง args []) { Scanner sc =สแกนเนอร์ใหม่ (System.in); System.out.println("ป้อนชื่อของคุณ:"); สตริง str =sc.nextLine(); สตริง[] stringArray =str.split("\\W+"); ผลลัพธ์สตริง =สตริงใหม่ (); สำหรับ (int i =0; i

ผลลัพธ์

ป้อนชื่อของคุณ:กฤษณะ ^% Kasyap*@#ผลลัพธ์:KrishnaKasyap