Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách dùng phương thức substring() của java.lang.String trong Java

Phương thức substring() trả về kiểu String tương ứng với chuỗi gốc bắt đầu từ beginIndex đến endIndex (không bao gồm endIndex). Nếu không chỉ định endIndex, mặc định là độ dài chuỗi. Vì làm việc với String, chỉ số bắt đầu từ '0'.

Cú pháp

public String substring(int beginIndex) 
public String substring(int beginIndex, int endIndex)
  • beginIndex: chỉ số bắt đầu cắt chuỗi (0-based).
  • endIndex: chỉ số kết thúc cắt chuỗi (không bao gồm ký tự tại vị trí này).

Trả về String là phần con của chuỗi gốc. Ném IndexOutOfBoundsException nếu beginIndex âm hoặc lớn hơn độ dài chuỗi, hoặc endIndex > length(), hoặc beginIndex > endIndex.

Ví dụ minh họa

public class StringSubstringTest{ 
    public static void main(String[] args) { 
        String str = "Welcome to Tutorials Point"; 
        System.out.println(str.substring(5));        // "me to Tutorials Point" 
        System.out.println(str.substring(2, 5));     // "lco" 
        str.substring(6); // không gán, str không đổi (String immutable) 
        System.out.println("str value: " + str);     // "Welcome to Tutorials Point" 
        String str1 = str.substring(5); 
        System.out.println("str1 value: " + str1);   // "me to Tutorials Point" 
    } 
}

Kết quả đầu ra

me to Tutorials Point 
lco 
str value: Welcome to Tutorials Point 
str1 value: me to Tutorials Point

Lưu ý quan trọng

  • String bất biến (immutable) – substring() trả về chuỗi mới, chuỗi gốc không thay đổi.
  • Java 7+: substring() tạo char array mới (copy), tránh rò rỉ bộ nhớ do chia sẻ backing array như Java 6.
  • Đếm chỉ số: "Welcome" → W(0) e(1) l(2) c(3) o(4) m(5) e(6)...

Bảng ví dụ nhanh

CodeKết quảGiải thích
"Hello".substring(1)"ello"Từ index 1 đến hết
"Hello".substring(1, 4)"ell"Index 1,2,3 (4 không bao gồm)
"Hello".substring(0, 5)"Hello"Cả chuỗi
"Hello".substring(5)""Rỗng (index = length)