java.util.regex.Matcher lớp đại diện cho một công cụ thực hiện các hoạt động so khớp khác nhau. Không có hàm tạo nào cho lớp này, bạn có thể tạo / lấy một đối tượng của lớp này bằng cách sử dụng phương thức match () của lớp java.util.regex.Pattern.
ReplaceFirst () phương thức của lớp này (Matcher) chấp nhận một giá trị chuỗi và thay thế dãy con được so khớp đầu tiên trong văn bản đầu vào bằng giá trị chuỗi đã cho 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 ReplaceFirstExample {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ạo đối tượng mẫu Mẫu pattern =Pattern.compile (regex); // Tạo đối tượng Matcher Matcher matcher =pattern.matcher (input); int count =0; while (matcher.find ()) {count ++; } // Lấy mẫu được sử dụng System.out.println ("Các ký tự # đã xảy ra" + đếm + "lần trong văn bản đã cho"); // Thay thế lần xuất hiện đầu tiên bằng @ String result =matcher.replaceFirst ("@"); System.out.println ("Văn bản sau khi thay thế lần xuất hiện đầu tiên của # bằng @ \ n" + kết quả); }}
Đầu ra
Nhập văn bản đầu vào:Nhập văn bản đầu vào:Xin chào # How # are # you #welcome to Tutorials # pointKý tự # xuất hiện 5 lần trong textText đã cho sau khi thay thế lần xuất hiện đầu tiên của # bằng @ Hello @ How # are # you #welcome to Tutorials # point
Ví dụ 2
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ReplaceFirstExample {public static void main (String args []) {// Đọc chuỗi từ hệ thống của người dùng .out.println ("Nhập một chuỗi"); Máy quét sc =Máy quét mới (System.in); Chuỗi đầu vào =sc.nextLine (); Chuỗi regex ="\\ s +"; // Biên dịch biểu thức chính quy Mẫu pattern =Pattern.compile (regex); // Truy xuất đối tượng matcher Matcher matcher =pattern.matcher (input); // Thay thế tất cả các ký tự khoảng trắng bằng một khoảng trắng String result =matcher.replaceFirst ("_"); System.out.print ("Văn bản sau khi thay thế khoảng trắng đầu tiên bằng '_':\ n" + kết quả); }}
Đầu ra
Nhập Stringhello, đây là văn bản mẫu có khoảng trắng không đều