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

স্ট্রিং থেকে নন-ASCII ক্যারেক্টার রিমূভ করার পদ্ধতি

POSIX ক্যারেক্টার ক্লাস \p{ASCII} ASCII ক্যারেক্টারগুলো ম্যাচ করে এবং মেটা ক্যারেক্টার ^ নেগেশন (negation) হিসেবে কাজ করে।

অর্থাৎ, নিচের এক্সপ্রেশনটি সকল নন-ASCII ক্যারেক্টার ম্যাচ করে:

"[^\\p{ASCII}]"

String ক্লাসের replaceAll() মেথড একটি রেগুলার এক্সপ্রেশন এবং একটি রিপ্লেসমেন্ট স্ট্রিং গ্রহণ করে, এবং কারেন্ট স্ট্রিংয়ের মিলে যাওয়া ক্যারেক্টারগুলো (যে প্যাটার্নটি ম্যাচ করে) নির্দিষ্ট রিপ্লেসমেন্ট স্ট্রিং দিয়ে রিপ্লেস করে।

তাই, ম্যাচ করা ক্যারেক্টারগুলো খালি স্ট্রিং "" দিয়ে রিপ্লেস করে সরিয়ে ফেলা যায়।

উদাহরণ ১: replaceAll() ব্যবহার করে

import java.util.Scanner;

public class Exp {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        String regex = "[^\\p{ASCII}]";
        System.out.println("Enter input data:");
        String input = sc.nextLine();
        String result = input.replaceAll(regex, "");
        System.out.println("Result: " + result);
    }
}

আউটপুট

Enter input data: whÿ do we fall
Result: wh do we fall

উদাহরণ ২: Matcher.appendReplacement() ব্যবহার করে

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

public class Example {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter input string: ");
        String input = sc.nextLine();
        String regex = "[^\\p{ASCII}]";

        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(input);

        // খালি StringBuffer তৈরি
        StringBuffer sb = new StringBuffer();
        while (matcher.find()) {
            matcher.appendReplacement(sb, "");
        }
        matcher.appendTail(sb);
        System.out.println("Result: \n" + sb.toString());
    }
}

আউটপুট

Enter input string: whÿ do we fall
Result: wh do we fall
  1. পাইথনে স্ট্রিং থেকে সব স্পেশাল ক্যারেক্টার, পাঙ্কচুয়েশন এবং স্পেস রিমুভ করা

  2. পাইথনে স্ট্রিং থেকে শুধু ডিজিট বাদে সব ক্যারেক্টার রিমুভ করা

  3. পাইথনে স্ট্রিং থেকে নির্দিষ্ট ক্যারেক্টার সরিয়ে ফেলা

  4. জাভাতে স্ট্রিং তুলনা: Equals, equalsIgnoreCase এবং '==' এড়ানো