Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

Pattern CASE_INSENSITIVE Field ใน Java พร้อมตัวอย่าง


Field CASE_INSENSITIVE ของคลาส Pattern จับคู่ตัวอักษรโดยไม่คำนึงถึง case เมื่อคุณใช้เป็น flag value ในเมธอด compile() และหากคุณค้นหาตัวอักษรโดยใช้ regular expressions ตัวอักษรของทั้งสอง case จะถูกจับคู่

หมายเหตุ − โดยค่าเริ่มต้น flag นี้จับคู่เฉพาะ ASCII characters เท่านั้น

ตัวอย่างที่ 1: นับตัวอักษร T/t ในข้อความ

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

public class CASE_INSENSITIVE_Example {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter input data: ");
        String input = sc.nextLine();
        System.out.println("Enter required character: ");
        char ch = sc.next().toCharArray()[0];
        
        // Regular expression to find the required character
        String regex = "[" + ch + "]";
        
        // คอมไพล์ regular expression
        Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
        
        // ดึง Matcher object
        Matcher matcher = pattern.matcher(input);
        int count = 0;
        while (matcher.find()) {
            count++;
        }
        System.out.println("The letter " + ch + " occurred " + count + " times in the given text (irrespective of case)");
    }
}

Output

Enter input data: Tutorials Point originated from the idea that there exists a class of readers who respond better to online content and prefer to learn new skills at their own pace from the comforts of their drawing rooms.
Enter required character: T
The letter T occurred 20 times in the given text (irrespective of case)

ตัวอย่างที่ 2: ตรวจสอบ boolean string (true/false)

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

public class VerifyBoolean {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter a string value: ");
        String str = sc.next();
        Pattern pattern = Pattern.compile("true|false", Pattern.CASE_INSENSITIVE);
        Matcher matcher = pattern.matcher(str);
        if (matcher.matches()) {
            System.out.println("Given string is a boolean type");
        } else {
            System.out.println("Given string is not a boolean type");
        }
    }
}

Output 1

Enter a string value: true
Given string is a boolean type

Output 2

Enter a string value: false
Given string is a boolean type

Output 3

Enter a string value: hello
Given string is not a boolean type