Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để so khớp một ký tự từ chuỗi đã cho bao gồm cả trường hợp sử dụng Java regex?

Gói java.util.regex của java cung cấp nhiều lớp khác nhau để tìm các mẫu cụ thể trong chuỗi ký tự. Lớp mẫu của gói này là một biểu diễn đã biên dịch của một biểu thức chính quy.

Để khớp một ký tự cụ thể từ chuỗi đầu vào đã cho -

  • Lấy chuỗi đầu vào.

  • Biên dịch () này phương thức của lớp này nhận một giá trị chuỗi đại diện cho một biểu thức chính quy và một giá trị số nguyên đại diện cho một cờ trả về một đối tượng Mẫu. Biên dịch bỏ qua biểu thức chính quy -

    • Trình khớp mẫu “ [] ”Với ký tự bắt buộc trong đó, ví dụ:“ [t] ”.

    • Cờ CASE_INSENSITIVE để bỏ qua chữ hoa chữ thường.

  • Trình đối sánh () phương pháp của Mẫu lớp chấp nhận một chuỗi đầu vào và trả về một đối tượng Matcher. Tạo / Truy xuất đối tượng so khớp bằng phương pháp này.

  • find () - Sử dụng find () phương thức của Trình so khớp các kết quả phù hợp.

Ví dụ

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CompileExample {
   public static void main( String args[] ) {
      //Reading string value
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input string");
      String input = sc.nextLine();
      //Regular expression to find digits
      String regex = "[t]";
      //Compiling the regular expression
      Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
      //Retrieving the matcher object
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
      }
      System.out.println("Number of matches: "+count);
   }
}

Đầu ra

Enter input string
Tutorialspoint
Number of matches: 3