Trong lập trình Java, bạn có thể lấy chuỗi con (substring) từ một chuỗi lớn bằng cách sử dụng một số phương thức có sẵn trong lớp String
. Chuỗi con là một phần của chuỗi ban đầu, bắt đầu từ vị trí bắt đầu và kéo dài đến vị trí kết thúc được chỉ định.
Dưới đây là một số phương thức để lấy chuỗi con:
substring(int beginIndex)
: Lấy chuỗi con bắt đầu từ vị tríbeginIndex
(bao gồm vị trí này) đến cuối chuỗi.java
String str = "Hello World";
String substring = str.substring(6); // Kết quả: "World"
substring(int beginIndex, int endIndex)
: Lấy chuỗi con từ vị trí beginIndex
(bao gồm) đến vị trí endIndex
(không bao gồm).
java
String str = "Hello World";
String substring = str.substring(0, 5); // Kết quả: "Hello"
subSequence(int beginIndex, int endIndex)
: Tương tự như substring(int beginIndex, int endIndex)
, nhưng phương thức này trả về một CharSequence
thay vì String
.
java
String str = "Hello World"; CharSequence charSequence = str.subSequence(6, 11); // Kết quả: "World"
Lưu ý rằng chỉ số của ký tự trong Java bắt đầu từ 0. Do đó, trong phương thức substring(int beginIndex, int endIndex)
, beginIndex
là vị trí bắt đầu của chuỗi con và endIndex
là vị trí kết thúc của chuỗi con, nhưng không bao gồm ký tự ở vị trí này.
Cần lưu ý rằng phương thức này trả về một chuỗi con mới và không ảnh hưởng đến chuỗi gốc ban đầu. Nếu bạn muốn thay đổi chuỗi gốc, bạn cần gán lại giá trị trả về cho chuỗi gốc:
java
String str = "Hello World";
str = str.substring(6); // Giờ đây, str sẽ chứa "World"
Dưới đây là một ví dụ minh họa sử dụng các phương thức lấy chuỗi con:
java
public class SubstringExample {
public static void main(String[] args) {
String str = "Hello World";
// Lấy chuỗi con từ vị trí 6 đến cuối chuỗi
String substring1 = str.substring(6);
System.out.println("Substring 1: " + substring1); // Kết quả: "World"
// Lấy chuỗi con từ vị trí 0 đến vị trí 5 (không bao gồm)
String substring2 = str.substring(0, 5);
System.out.println("Substring 2: " + substring2); // Kết quả: "Hello"
// Lấy chuỗi con dưới dạng CharSequence từ vị trí 6 đến vị trí 11 (không bao gồm)
CharSequence charSequence = str.subSequence(6, 11);
System.out.println("CharSequence: " + charSequence); // Kết quả: "World"
}
}
Output sẽ là:
yaml
Substring 1: World
Substring 2: Hello
CharSequence: World