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

โปรแกรมค้นหาว่าสตริงเป็นตัวอักษรและตัวเลขหรือไม่


คำใดๆ ที่มีตัวเลขและตัวอักษรเรียกว่าตัวอักษรและตัวเลข นิพจน์ทั่วไปต่อไปนี้จะจับคู่ตัวเลขและตัวอักษรผสมกัน

"^[a-zA-Z0-9]+$";

วิธีการmatch ของคลาส String ยอมรับนิพจน์ทั่วไป (ในรูปแบบของสตริง) และจับคู่กับสตริงปัจจุบันในกรณีที่เมธอดนี้คืนค่า true มิฉะนั้นจะคืนค่าเท็จ

ดังนั้น เพื่อค้นหาว่าสตริงใดมีค่าตัวอักษรและตัวเลขหรือไม่ -

  • รับสตริง
  • เรียกใช้วิธีจับคู่โดยข้ามนิพจน์ทั่วไปที่กล่าวถึงข้างต้น
  • ดึงผลลัพธ์

ตัวอย่างที่ 1

<ก่อน>นำเข้า java.util.Scanner; คลาสสาธารณะ AlphanumericString { โมฆะคงที่สาธารณะหลัก (สตริง args []) { Scanner sc =สแกนเนอร์ใหม่ (System.in); System.out.println("ป้อนสตริงอินพุต:"); อินพุตสตริง =sc.next(); สตริง regex ="^[a-zA-Z0-9]+$"; ผลลัพธ์บูลีน =input.matches (regex); ถ้า (ผลลัพธ์) { System.out.println ("สตริงที่ระบุเป็นตัวเลขและตัวอักษร"); } อื่น { System.out.println ("สตริงที่ระบุไม่ใช่ตัวเลขและตัวอักษร"); } }}

ผลลัพธ์

ป้อนสตริงอินพุต:abc123*สตริงที่ระบุไม่ใช่ตัวเลขและตัวอักษร

ตัวอย่างที่ 2

คุณยังสามารถคอมไพล์นิพจน์ทั่วไปและจับคู่นิพจน์กับสตริงเฉพาะโดยใช้คลาสและเมธอด (API) ของ java.util.regex บรรจุุภัณฑ์. โปรแกรมต่อไปนี้เขียนโดยใช้ API เหล่านี้และตรวจสอบว่าสตริงที่ระบุเป็นตัวอักษรและตัวเลขหรือไม่

<ก่อน> นำเข้า java.util.Scanner; นำเข้า java.util.regex.Matcher; นำเข้า java.util.regex.Pattern; การทดสอบคลาสสาธารณะ { โมฆะคงที่สาธารณะหลัก (สตริง args [] ) { Scanner sc =สแกนเนอร์ใหม่ (ระบบ .ใน); System.out.println("ป้อนสตริงอินพุต:"); อินพุตสตริง =sc.nextLine(); สตริง regex ="^[a-zA-Z0-9]+$"; ข้อมูลสตริง[] =input.split(" "); //การสร้างวัตถุรูปแบบ Pattern pattern =Pattern.compile(regex); สำหรับ (String ele :data) { // การสร้างวัตถุที่จับคู่ Matcher matcher =pattern.matcher (ele); if(matcher.matches()) { System.out.println("คำว่า "+ele+":เป็นตัวอักษรและตัวเลข "); } อื่น { System.out.println ("คำว่า "+ele+":ไม่ใช่ตัวอักษรและตัวเลข "); } } }}

ผลลัพธ์

ป้อนสตริงอินพุต:hello* this$ is sample textThe word hello*:is not alpha numericThe word this$:is not alpha numericThe word is:is alpha numericThe word sample:is alpha numericThe word text:is alpha numeric