แทนที่และเปลี่ยนเป็นวิธีการที่ใช้กันทั่วไปในการเปลี่ยนอักขระใน Java
1) พารามิเตอร์ของการแทนที่คือถ่านและ charsequence ซึ่งสามารถรองรับการแทนที่อักขระ และการแทนที่สตริง (charsequence หมายถึงลำดับสตริงเพื่อให้มันตรงไปตรงมา, สตริง);
2) พารามิเตอร์ของ replaceall คือ regex นั่นคือการแทนที่ตามนิพจน์ทั่วไป
ความคล้ายคลึงกัน: ทั้งหมดแทนที่อักขระหรือสตริงทั้งหมดในสตริงต้นทางด้วยอักขระหรือสตริงที่ระบุ ) แทนที่การเกิดขึ้นครั้งแรกของสตริง;
นอกจากนี้หากข้อมูลพารามิเตอร์ที่ใช้โดย replaceAll () และ replactfirst () ไม่ได้ขึ้นอยู่กับนิพจน์ทั่วไปผลของการเปลี่ยนสตริงนั้นเหมือนกับแทนที่ () นั่นคือทั้งสองยังรองรับการทำงานของสตริงด้วย
หมายเหตุอื่น: หลังจากดำเนินการทดแทนเนื้อหาของสตริงต้นทางจะไม่เปลี่ยนแปลง
เป็นตัวอย่าง:
Src = สตริงใหม่ ("AB43A2C43D"); f '); => ab4f2c4fd f ")); => fb43fc23d. system.out.println (src.replacefirst (" // d, "f")); => abf32c43d system.out.println (src.replacefirst ("4", "h" )); => abh32c43dวิธีแทนที่ "/" ในสตริงด้วย "//"::
String Msgin;
เหตุผล:
'/' เป็นตัวละครหลบหนีใน Java ดังนั้นสองคนจำเป็นต้องเป็นตัวแทน ตัวอย่างเช่น System.out.println ("//"); อย่างไรก็ตาม '/' ยังเป็นอักขระหลบหนีในนิพจน์ทั่วไป (พารามิเตอร์ของ replaceall เป็นนิพจน์ทั่วไป) และต้องใช้สองอย่างเพื่อเป็นตัวแทน ดังนั้น: /// ถูกแปลงเป็น // โดย java และ // ถูกแปลงเป็น / โดยนิพจน์ทั่วไป
เดียวกัน
รหัส:////////
java: ////
regex: //
หลายวิธีในการแทนที่ '/' ในสตริงด้วย '/':
msgout = msgin.replaceall ("/", "/////");ความแตกต่างระหว่างการแทนที่ () และ replaceall () ใน Java นั้นโดดเด่นผ่านตัวอย่าง