Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Phương thức Matcher.toString() trong Java với ví dụ


Lớp java.util.regex.Matcher đại diện cho một engine thực hiện các phép toán khớp khác nhau. Không có constructor cho lớp này, bạn có thể tạo/nhận đối tượng của lớp này bằng phương thức matcher() của lớp java.util.regex.Pattern.

Phương thức toString() của lớp Matcher trả về giá trị chuỗi đại diện cho nội dung của đối tượng matcher hiện tại.

Ví dụ 1: In trạng thái matcher sau khi đếm ký tự đặc biệt

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ToStringExample {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Nhập văn bản đầu vào: ");
        String input = sc.nextLine();
        String regex = "[#%&*]";
        
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        
        int count = 0;
        while (matcher.find()) {
            count++;
        }
        
        System.out.println("Có " + count + " ký tự đặc biệt [# % & *] trong văn bản");
        System.out.println("Định dạng chuỗi của matcher: \n" + matcher.toString());
    }
}

Kết quả

Nhập văn bản đầu vào: Hello# How # are# you *& welcome to T#utorials%point
Có 7 ký tự đặc biệt [# % & *] trong văn bản
Định dạng chuỗi của matcher: 
java.util.regex.Matcher[pattern=[#%&*] region=0,52 lastmatch=]

Ví dụ 2: Trùng lặp ví dụ 1 (bản gốc)

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ToStringExample {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Nhập văn bản đầu vào: ");
        String input = sc.nextLine();
        String regex = "[#%&*]";
        
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);
        
        int count = 0;
        while (matcher.find()) {
            count++;
        }
        
        System.out.println("Có " + count + " ký tự đặc biệt [# % & *] trong văn bản");
        System.out.println("Định dạng chuỗi của matcher: \n" + matcher.toString());
    }
}

Kết quả

Nhập văn bản đầu vào: Hello# How # are# you *& welcome to T#utorials%point
Có 7 ký tự đặc biệt [# % & *] trong văn bản
Định dạng chuỗi của matcher: 
java.util.regex.Matcher[pattern=[#%&*] region=0,52 lastmatch=]

Định dạng: java.util.regex.Matcher[pattern=... region=start,end lastmatch=...]. Hữu ích để debug pattern, region, và last match.