Sau khi bạn biên dịch biểu thức chính quy bắt buộc và truy xuất đối tượng so khớp bằng cách chuyển chuỗi đầu vào làm tham số cho phương thức matcher ().
Bạn có thể thay thế tất cả các phần đã khớp của chuỗi đầu vào bằng một str4ing khác bằng cách sử dụng phương thức ReplaceAll () của lớp Matcher.
Phương thức này chấp nhận một chuỗi (chuỗi thay thế) và thay thế tất cả các kết quả phù hợp trong chuỗi đầu vào bằng nó và trả về kết quả.
Ví dụ 1
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ReplaceAll {public static void main (String [] args) {Scanner sc =new Scanner (Hệ thống .trong); System.out.println ("Nhập văn bản đầu vào:"); Chuỗi đầu vào =sc.nextLine (); Chuỗi regex ="\\ t +"; // Tạo đối tượng mẫu Mẫu pattern =Pattern.compile (regex); // Khớp với mẫu đã biên dịch trong String Matcher matcher =pattern.matcher (input); int count =0; while (matcher.find ()) {count ++; } System.out.println ("Số kết quả phù hợp:" + count); String result =matcher.replaceAll (""); System.out.println ("Kết quả:" + kết quả); }}
Đầu ra
Nhập văn bản đầu vào:văn bản mẫu có dấu cách tabTheo cách tương tự, bạn có thể thay thế kết quả phù hợp đầu tiên bằng phương thức ReplaceFirst () của lớp Matcher.
Ví dụ 2
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ReplaceAll {public static void main (String [] args) {Scanner sc =new Scanner (Hệ thống .trong); System.out.println ("Nhập văn bản đầu vào:"); Chuỗi đầu vào =sc.nextLine (); Chuỗi regex ="\\ d"; // Tạo đối tượng mẫu Mẫu pattern =Pattern.compile (regex); // Khớp với mẫu đã biên dịch trong String Matcher matcher =pattern.matcher (input); int count =0; while (matcher.find ()) {count ++; } System.out.println ("Số kết quả phù hợp:" + count); Chuỗi kết quả =matcher.replaceFirst ("#"); System.out.println ("Kết quả:" + kết quả); }}Đầu ra
Nhập văn bản đầu vào:dữ liệu kiểm tra 1 2 3Không có kết quả phù hợp nào:3 Kết quả:dữ liệu kiểm tra # 2 3