ตัวอย่างเช่น ดำเนินการ: "2|33|4".split("|")
ผลลัพธ์คือ:
-
2
3
3
4
มันแปลก แต่ถ้าคุณอ่านคำอธิบาย API อย่างละเอียด คุณก็ยังเข้าใจเหตุผลได้
java.lang.string.split
วิธีการแยก
แยกสตริงออกเป็นสตริงย่อยและส่งกลับผลลัพธ์เป็นอาร์เรย์ของสตริง
stringObj.split ([คั่น, [จำกัด]])
พารามิเตอร์
stringObj
ที่จำเป็น. วัตถุ String หรือตัวอักษรที่จะสลายตัว วัตถุนี้จะไม่ได้รับการแก้ไขโดยวิธีการแยก
ตัวคั่น
ไม่จำเป็น. สตริงหรืออ็อบเจ็กต์นิพจน์ทั่วไปที่ระบุว่ามีการใช้อักขระตั้งแต่หนึ่งตัวขึ้นไปเพื่อแยกสตริง หากละเว้นตัวเลือกนี้ ระบบจะส่งคืนอาร์เรย์องค์ประกอบเดียวที่มีสตริงทั้งหมด
ขีด จำกัด
ไม่จำเป็น. ค่านี้ใช้เพื่อจำกัดจำนวนองค์ประกอบในอาร์เรย์ที่ส่งคืน
แสดงให้เห็น
ผลลัพธ์ของวิธีการแยกคืออาร์เรย์สตริง ซึ่งจะต้องถูกแยกย่อยในทุกตำแหน่งที่ตัวคั่นปรากฏใน stingObj
ดังนั้นวิธีเขียนตามปกติจึงเป็นดังนี้:
1. หากใช้ "." เป็นตัวคั่น จะต้องเขียนดังนี้: String.split("//.") เพื่อให้สามารถแยกได้อย่างถูกต้อง
2. หากใช้ "|" เป็นตัวคั่น จะต้องเขียนดังนี้: String.split("//|") เพื่อให้สามารถแยกได้อย่างถูกต้อง
"." และ "|" เป็นทั้งอักขระหลีก และต้องเพิ่ม "//"
3. หากมีตัวคั่นหลายตัวในสตริง คุณสามารถใช้ "|" เป็นเครื่องหมายยัติภังค์ได้ เช่น: "a=1 และ b =2 หรือ c=3" หากต้องการแยกทั้งสามรายการ คุณสามารถใช้การแยก ( "และ|หรือ");