เมธอด substring() ดึงส่วนของ String ตาม index ที่ระบุ String ต้นทางไม่เปลี่ยนแปลง
รูปแบบ substring()
public String substring(int startIndex, int endIndex)
- startIndex - index เริ่มต้น (รวม) - required
- endIndex - index สิ้นสุด (ไม่รวม) - optional, default = ความยาว String
Index เริ่มจาก 0 รวม space และสัญลักษณ์ทุกตัว
ตัวอย่างที่ 1: ไม่ระบุ endIndex (ดึงถึงท้าย String)
ดึงชื่อกาแฟและลูกค้าหลังเลขออเดอร์ 3 ตัว
public class GetOrderData {
public static void main(String[] args) {
String order = "020 Latte Eileen";
System.out.println(order.substring(3)); // เริ่ม index 3 ถึงท้าย
}
}
ผลลัพธ์: Latte Eileen
ตัวอย่างที่ 2: ระบุ endIndex (ดึงเฉพาะช่วง)
ดึงเลขออเดอร์ 3 ตัวแรก (index 0-2)
public class GetOrderNumber {
public static void main(String[] args) {
String order = "020 Latte Eileen";
System.out.println(order.substring(0, 3)); // index 0,1,2
}
}
ผลลัพธ์: 020
หมายเหตุ: endIndex เป็น exclusive (ไม่รวมค่าตัวสุดท้าย)
ข้อผิดพลาดทั่วไป
StringIndexOutOfBoundsException เกิดเมื่อระบุ index เกินความยาว String ต้องตรวจสอบความยาวก่อนใช้งาน
สรุป
substring() สร้าง String ใหม่จากส่วนของ String เดิม ไม่แก้ไข String ต้นฉบับ ใช้ index เริ่มต้นและสิ้นสุดควบคุมช่วงที่ต้องการ