สตริงบางชนิดจะถูกเก็บไว้ในชื่อบางประเภทมักคั่นด้วยเครื่องหมายจุลภาค 'หรือสัญลักษณ์อื่น ๆ หากเราลบพารามิเตอร์ที่แน่นอนก็มักจะไม่สะดวกเท่ากับอาร์เรย์หรือรายการ อย่างไรก็ตามหากเรามีวิธีการต่อไปนี้เราสามารถทำได้ดี
คลาสสาธารณะ test3 { /** * @param args * /โมฆะคงที่สาธารณะหลัก (สตริง [] args) {// สตริงที่จะตัดสตริง s = "123.jpg, 113.jpg, 121.jpg, 122.jpg , 131.jpg "; String sub =" "; system.out.println (" ก่อนการรวบรวม: "+s); // วิธีการเรียกวิธีการเรียกย่อย = s.replaceall (", 113.jpg | 113.jpg, "," "); //. replaceall (", 122.jpg | 122.jpg, "," "); System.out.println (" หลังจากการรวบรวม: "+sub);}} ผลการพิมพ์:
ก่อนการรวบรวม: 123.jpg, 113.jpg, 121.jpg, 122.jpg, 131.jpg หลังจากการรวบรวม: 123.jpg, 121.jpg, 122.jpg, 131.jpg
ลองทบทวนคำอธิบายวิธีการแทนที่ใน JDK1.6:
การเปลี่ยนใหม่
String Public String replaceall (String regex,
การเปลี่ยนสตริง) แทนที่สตริงย่อยทั้งหมดที่ตรงกับนิพจน์ทั่วไปที่กำหนดด้วยการแทนที่ที่กำหนด
แบบฟอร์ม str.replaceall (regex, repl) ที่เรียกว่าวิธีนี้เป็นสิ่งเดียวกับผลลัพธ์ที่เกิดจากนิพจน์ต่อไปนี้:
pattern.compile (regex) .matcher (str) .replaceall (repl)
โปรดทราบว่าการใช้แบ็คสแลช (/) และสัญญาณดอลลาร์ ($) ในสตริงทดแทนอาจแตกต่างจากผลลัพธ์ที่ได้จากการรักษาพวกเขาเป็นสตริงทดแทนที่แท้จริง หากจำเป็นคุณสามารถใช้ matcher.quotePlacement (java.lang.string) เพื่อยกเลิกความหมายพิเศษของอักขระเหล่านี้
พารามิเตอร์:
regex - นิพจน์ทั่วไปที่ใช้จับคู่สตริงนี้
การเปลี่ยน - สตริงที่ใช้แทนที่การแข่งขันแต่ละรายการกลับมา:
สตริงที่ได้รับ
โยน:
patternyntaxexception - ถ้าไวยากรณ์ของนิพจน์ทั่วไปไม่ถูกต้อง