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

Matcher เปลี่ยนเมธอดแรก () ใน Java พร้อม Examples


java.util.regex.Matcher class แสดงถึงเอ็นจิ้นที่ดำเนินการจับคู่ต่างๆ ไม่มีตัวสร้างสำหรับคลาสนี้ คุณสามารถสร้าง/รับวัตถุของคลาสนี้โดยใช้เมธอดmatch() ของคลาส java.util.regex.Pattern

replaceFirst() เมธอดของคลาส (Matcher) นี้ยอมรับค่าสตริงและแทนที่ลำดับย่อยที่ตรงกันครั้งแรกในข้อความอินพุตด้วยค่าสตริงที่กำหนดและส่งกลับผลลัพธ์

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

<ก่อน> นำเข้า java.util.Scanner; นำเข้า java.util.regex.Matcher; นำเข้า java.util.regex.Pattern; คลาสสาธารณะ ReplaceFirstExample { public static void main (String [] args) { Scanner sc =สแกนเนอร์ใหม่ (ระบบ .ใน); System.out.println("ป้อนข้อความ:"); อินพุตสตริง =sc.nextLine(); สตริง regex ="[#]"; //การสร้างวัตถุรูปแบบ Pattern pattern =Pattern.compile(regex); //การสร้าง Matcher วัตถุ Matcher matcher =pattern.matcher (อินพุต); จำนวนเต็ม =0; ในขณะที่ (matcher.find ()) { นับ ++; } //กำลังเรียกรูปแบบที่ใช้ System.out.println("อักขระ # เกิดขึ้น "+นับ+" ครั้งในข้อความที่กำหนด"); //แทนที่การเกิดขึ้นครั้งแรกด้วย @ ผลลัพธ์สตริง =matcher.replaceFirst("@"); System.out.println("ข้อความหลังจากแทนที่การเกิดขึ้นครั้งแรกของ # ด้วย @ \n"+ผลลัพธ์); }}

ผลลัพธ์

ป้อนข้อความที่ป้อน:ป้อนข้อความป้อน:สวัสดี# อย่างไร # เป็น# คุณ #ยินดีต้อนรับสู่บทช่วยสอน#จุดThe are character # เกิดขึ้น 5 ครั้งใน textText ที่กำหนด หลังจากแทนที่การเกิดขึ้นครั้งแรกของ # ด้วย @Hello@ How # are# you #ยินดีต้อนรับสู่บทช่วยสอน#point

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

<ก่อน> นำเข้า java.util.Scanner; นำเข้า java.util.regex.Matcher; นำเข้า java.util.regex.Pattern; คลาสสาธารณะ ReplaceFirstExample { โมฆะสาธารณะหลัก (สตริง args []) {// การอ่านสตริงจากระบบของผู้ใช้ .out.println("ป้อนสตริง"); สแกนเนอร์ sc =สแกนเนอร์ใหม่ (System.in); อินพุตสตริง =sc.nextLine(); สตริง regex ="\\s+"; //การคอมไพล์นิพจน์ทั่วไป Pattern pattern =Pattern.compile(regex); //ดึงวัตถุที่จับคู่ Matcher matcher =pattern.matcher (อินพุต); //แทนที่อักขระช่องว่างทั้งหมดด้วยช่องว่างเดียว String result =matcher.replaceFirst("_"); System.out.print("ข้อความหลังจากแทนที่ช่องว่างแรกด้วย '_':\n"+result); }}

ผลลัพธ์

ป้อน Stringhello นี่เป็นข้อความตัวอย่างที่มีช่องว่างไม่ปกติหลังจากแทนที่ช่องว่างแรกด้วย '_':hello_this เป็นข้อความตัวอย่างที่มีช่องว่างไม่ปกติ