Java cung cấp nhiều cách để kiểm tra xem một từ có xuất hiện trong chuỗi hay không. Dưới đây là 3 phương pháp phổ biến:
1. contains() – Kiểm tra đơn giản
Trả về true nếu chuỗi con tồn tại.
String text = "Chào mừng đến với Tutorialspoint";
String keyword = "Tutorialspoint";
if (text.contains(keyword)) {
System.out.println("Tìm thấy!");
}
2. indexOf() – Tìm vị trí xuất hiện
Trả về chỉ số bắt đầu, hoặc -1 nếu không tìm thấy.
int index = text.indexOf(keyword);
if (index >= 0) {
System.out.println("Tìm thấy tại vị trí: " + index);
}
3. StringTokenizer – Duyệt từng từ (token)
Phân tách chuỗi theo định phân cách, sau đó so sánh từng token.
import java.util.StringTokenizer;
StringTokenizer tokenizer = new StringTokenizer(text, " ");
while (tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
if (token.equals(keyword)) {
System.out.println("Tìm thấy từ khóa chính xác!");
break;
}
}
So sánh nhanh
| Phương pháp | Trường hợp dùng | Độ phức tạp |
|---|---|---|
| contains() | Kiểm tra tồn tại nhanh | O(n) |
| indexOf() | Cần vị trí xuất hiện | O(n) |
| StringTokenizer | Cần so khớp từ hoàn chỉnh | O(n) |
Khuyến nghị: Dùng contains() cho đơn giản, indexOf() khi cần vị trí, StringTokenizer hoặc regex \\bword\\b khi cần khớp từ toàn phần.