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

Phương thức end() của Matcher trong Java với ví dụ

Lớp java.util.regex.Matcher đại diện cho một công cụ thực hiện các phép 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 end() của lớp Matcher trả về offset sau khớp cuối cùng được biểu diễn bởi đối tượng hiện tại.

Biểu thức con "[...]" khớp các ký tự được chỉ định trong ngoặc trong chuỗi đầu vào. Trong ví dụ sau sử dụng để khớp ký tự t. Ở đây:

  • Chúng ta đã biên dịch biểu thức chính quy bằng phương thức compile().
  • Đã lấy đối tượng Matcher.
  • Gọi phương thức find() trên mỗi khớp.

Ví dụ

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

public class EndExample {
    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 = "[t]";
        
        // Tạo đối tượng pattern
        Pattern pattern = Pattern.compile(regex);
        
        // Khớp mẫu đã biên dịch trong chuỗi
        Matcher matcher = pattern.matcher(input);
        int count = 0;
        while (matcher.find()) {
            int end = matcher.end();
            System.out.println(end);
        }
    }
}

Kết quả

Nhập văn bản đầu vào: Hello how are you welcome to Tutorialspoint
27
32
43

Vì ký tự t xuất hiện 3 lần trong chuỗi đầu vào, bạn có thể quan sát được 3 giá trị offset (đại diện cho vị trí trong chuỗi đầu vào sau mỗi lần xuất hiện).