"Chào, Amigo!"

"Theo những gì tôi biết, Rishi đã nói với bạn về các biểu thức thông thường."

"Vâng, nó rất thú vị."

"Tuyệt, bây giờ tôi sẽ cho bạn biết về cách sử dụng biểu thức chính quy để làm việc với Chuỗi."

"Hãy bắt đầu với câu hỏi đơn giản nhất:"

1) Làm cách nào để kiểm tra xem Chuỗi có khớp với mẫu được chỉ định bởi biểu thức chính quy không?

"Có một phương thức đối sánh cho việc này. Bạn chuyển một Chuỗi chứa biểu thức chính quy và phương thức này trả về giá trị đúng hoặc sai."

(các) phương pháp (các) ví dụ
boolean matches(String regex)
String s = "Good news, everyone!";
Boolean test = s.matches("news\\.*");
Kết quả:

false (the String doesn't start with "news")

2) Làm cách nào để thay thế tất cả các chuỗi con phù hợp bằng các chuỗi khác nhau?

"Có hai phương pháp cho việc này."

" Phương thức replaceAll thay thế tất cả các lần xuất hiện của một chuỗi con bằng một chuỗi khác."

" Phương thức replaceFirst thay thế lần xuất hiện đầu tiên của chuỗi con đã truyền bằng một chuỗi đã chỉ định."

(các) phương pháp (các) ví dụ
String replaceAll(String regex, String replacement)
String s = "Good news, everyone!";
String s2 = s.replaceAll ("e\\.","EX");
Kết quả:

s2 == "Good nEXs EXEXyonEX";
String replaceFirst(String regex, String replacement)
String s = "Good news, everyone!";
String s2 = s.replaceFirst("e\\.","EX");
Kết quả:

s2 == "Good nEXs, everyone!";

3) Làm cách nào để chia chuỗi thành nhiều phần?

"Đối với điều này, chúng tôi có phương pháp tách, có mặt nạ phân tách:"

(các) phương pháp (các) ví dụ
String[] split(String regex)
String s = "Good news everyone!";
String[] ss = s.split("ne");
System.out.println(Arrays.toString(ss));
Kết quả (một mảng gồm ba chuỗi):

[Good , ws everyo, !]
"Good ", "ws everyo", "!";

" Lớp StringTokenizer là một cách khác để chia chuỗi thành nhiều phần ."

"Lớp này không sử dụng các biểu thức chính quy. Thay vào đó, bạn chỉ cần chuyển vào một Chuỗi chứa một tập hợp các dấu phân cách. Ưu điểm của phương pháp này là nó không chia toàn bộ chuỗi thành nhiều phần cùng một lúc, thay vào đó, nó di chuyển từ từ từ đầu đến cuối."

"Lớp này bao gồm một hàm tạo và hai phương thức. Bạn cần chuyển Chuỗi mà chúng ta đang phân tách thành hàm tạo, cùng với một Chuỗi chứa tập hợp các ký tự phân tách."

Phương thức nextToken trả về mã thông báo tiếp theo (chuỗi con).

Phương thức hasMoreTokens() trả về true nếu vẫn còn chuỗi con chưa được trả về.

(các) phương pháp (các) ví dụ
boolean hasMoreTokens()

String nextToken()
String s = "Good news, everyone!";

StringTokenizer tokenizer =
new StringTokenizer(s,"ne");
while (tokenizer.hasMoreTokens())
{
String token = tokenizer.nextToken();
System.out.println(token);
}
Đầu ra màn hình:

Good
ws
v
ryo
!

"Lưu ý rằng bất kỳ ký tự nào trong Chuỗi thứ hai được chuyển đến hàm tạo StringTokenizer đều được coi là dấu phân cách."

"Một lần nữa, mọi thứ dường như đã rõ ràng. Tôi có thể không viết được đoạn mã này một mình ngay lập tức, nhưng tôi hiểu điều gì đang diễn ra ở đây."

"Tuyệt vời, sau đó chúng tôi sẽ cho rằng bạn đã nắm vững chủ đề này."