Các phương thức kiểm tra nội dung chuỗi trong lớp String
Những phương thức này cung cấp khả năng xác định sự tồn tại của chuỗi con trong chuỗi chính
↳ boolean contains(CharSequence s): Kiểm tra xem chuỗi có chứa chuỗi con s hay không.
↳ boolean startsWith(String prefix): Kiểm tra xem chuỗi bắt đầu bằng chuỗi prefix hay không.
↳ boolean startsWith(String prefix, int toffset): Kiểm tra xem chuỗi con bắt đầu từ vị trí toffset có bắt đầu bằng chuỗi prefix hay không.
↳ boolean endsWith(String suffix): Kiểm tra xem chuỗi có kết thúc bằng một chuỗi hậu tố nào đó hay không.
Dưới đây là ví dụ về cách sử dụng 4 phương thức kiểm tra sự tồn tại của chuỗi con (contains, startsWith, endsWith) trong cùng một lớp Java:
Ví dụ: Example.java
public class Example {
public static void main(String[] args) {
String str = "Hello, World!";
// 1. contains(CharSequence s)
boolean containsWorld = str.contains("World");
System.out.println("Chuỗi chứa 'World': " + containsWorld);
// 2. startsWith(String prefix)
boolean startsWithHello = str.startsWith("Hello");
System.out.println("Chuỗi bắt đầu bằng 'Hello': " + startsWithHello);
// 3. startsWith(String prefix, int toffset)
boolean startsWithWorldAtOffset = str.startsWith("World", 7);
System.out.println("Chuỗi bắt đầu bằng 'World' tại vị trí 7: " + startsWithWorldAtOffset);
// 4. endsWith(String suffix)
boolean endsWithExclamation = str.endsWith("!");
System.out.println("Chuỗi kết thúc bằng '!': " + endsWithExclamation);
}
}
Kết quả của chương trình là:
Chuỗi bắt đầu bằng 'Hello': true
Chuỗi bắt đầu bằng 'World' tại vị trí 7: true
Chuỗi kết thúc bằng '!': true
Hy vọng ví dụ này giúp bạn hiểu rõ hơn về cách sử dụng các phương thức kiểm tra sự tồn tại của chuỗi con trong Java.
Lưu ý:
↳ Phân biệt startsWith và endsWith: startsWith kiểm tra chuỗi có bắt đầu bằng một tiền tố hay không, trong khi endsWith kiểm tra chuỗi có kết thúc bằng một hậu tố.
↳ Chú ý startsWith với toffset: Khi sử dụng startsWith(prefix, toffset), cần đảm bảo toffset không vượt quá độ dài chuỗi để tránh lỗi.
↳ contains không hỗ trợ biểu thức chính quy: Phương thức contains chỉ kiểm tra sự xuất hiện của chuỗi con mà không hỗ trợ các mẫu phức tạp như matches(regex).
Các phương thức kiểm tra chuỗi đặc biệt
↳ boolean isEmpty(): Kiểm tra xem chuỗi có rỗng hay không.
↳ boolean matches(String regex): Kiểm tra xem chuỗi có khớp với một biểu thức chính quy nào đó hay không.
Dưới đây là ví dụ về cách sử dụng các phương thức kiểm tra đặc biệt trong cùng một lớp Java:
Ví dụ: Example.java
public class Example {
public static void main(String[] args) {
String emptyString = "";
String nonEmptyString = "Hello, World!";
String regexString = "abc123";
// 1. isEmpty(): Kiểm tra xem chuỗi có rỗng hay không
System.out.println("emptyString có rỗng không? " + emptyString.isEmpty());
System.out.println("nonEmptyString có rỗng không? " + nonEmptyString.isEmpty());
// 2. matches(String regex): Kiểm tra xem chuỗi có khớp với một biểu thức chính quy nào đó hay không
String regex = "^[a-zA-Z]+\\d+$"; // Biểu thức chính quy kiểm tra chuỗi bắt đầu bằng chữ cái và kết thúc bằng số
System.out.println("regexString có khớp với regex không? " + regexString.matches(regex));
// Thêm ví dụ khác với matches
String anotherRegexString = "123abc";
System.out.println("anotherRegexString có khớp với regex không? " + anotherRegexString.matches(regex));
}
}
Kết quả của chương trình là:
nonEmptyString có rỗng không? false
regexString có khớp với regex không? true
anotherRegexString có khớp với regex không? false
Hy vọng ví dụ này giúp bạn hiểu rõ hơn về cách sử dụng các phương thức kiểm tra đặc biệt trong Java.