কম্পিউটার টিউটোরিয়াল

জাভাতে কীভাবে চেক করবেন স্ট্রিং শুধু ASCII ক্যারেক্টার ধারণ করছে কিনা

পদ্ধতি ১: রেগুলার এক্সপ্রেশন (Regex) - সংক্ষিপ্ত

রেগেক্স \\A\\p{ASCII}*\\z পুরো স্ট্রিং ASCII ক্যারেক্টার ধারণ করছে কিনা চেক করে।

  • \\A: স্ট্রিংয়ের শুরু।
  • \\p{ASCII}*: ASCII ক্যারেক্টার (0-127) শূন্য বা অধিকবার।
  • \\z: স্ট্রিংয়ের শেষ।

উদাহরণ

import java.util.Scanner;

public class OnlyASCII {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter a string value: ");
        String input = sc.nextLine();
        
        // matches() পুরো স্ট্রিং ম্যাচ চেক করে
        boolean result = input.matches("\\A\\p{ASCII}*\\z");
        
        if(result) {
            System.out.println("String approved (ASCII only)");
        } else {
            System.out.println("Contains non-ASCII values");
        }
    }
}

আউটপুট ১

Enter a string value: hello how are you
String approved (ASCII only)

আউটপুট ২

Enter a string value: whÿ do we fall
Contains non-ASCII values

পদ্ধতি ২: প্রতিটি ক্যারেক্টার চেক করা (ম্যানুয়াল)

ASCII ক্যারেক্টারগুলোর ইন্টিজার ভ্যালু ০ থেকে ১২৭ পর্যন্ত। প্রতিটি ক্যারেক্টার charAt(i) দিয়ে নিয়ে (int)ch করলে ১২৭-এর বেশি হলে নন-ASCII।

উদাহরণ

import java.util.Scanner;

public class OnlyASCII {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter a string value: ");
        String input = sc.nextLine();
        
        boolean result = true;
        for(int i = 0; i < input.length(); i++) {
            int codePoint = input.charAt(i); // char -> int (UTF-16 কোড ইউনিট)
            if (codePoint > 127) {
                result = false;
                break;
            }
        }
        
        System.out.println(result ? "String approved" : "Contains non-ASCII values");
    }
}

দ্রষ্টব্য: charAt UTF-16 কোড ইউনিট রিটার্ন করে (BMP ক্যারেক্টারের জন্য ঠিক)। সারোগেট পেয়ার (Emoji, Rare chars) হ্যান্ডল করতে codePointAt() ব্যবহার করুন। String.chars().allMatch(c -> c <= 127) (Java 8 Stream) আরও ক্লিন।

  1. জাভা String contains() মেথড: ধাপে ধাপে গাইড

  2. সুইফটে একটি স্ট্রিং অন্য স্ট্রিং কন্টেইন (Contains) করে কিনা চেক করার পদ্ধতি

  3. পাইথনে স্ট্রিং শুধু নির্দিষ্ট ক্যারেক্টার ধারণ করছে কিনা যাচাই করা

  4. পাইথনে স্ট্রিং শুধু ডিজিট ধারণ করছে কিনা যাচাই করা