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

জাভাতে স্ট্রিং থেকে সব নন-অ্যালফাবেটিক্যাল ক্যারেক্টার রিমুভ করা

String ক্লাসের split() মেথড একটি রেগুলার এক্সপ্রেশন (ডিলিমিটার) ব্যবহার করে স্ট্রিংকে টোকেনে ভাগ করে। রেগুলার এক্সপ্রেশন \\W+ সব নন-ওয়ার্ড ক্যারেক্টার (পাঙ্কচুয়েশন, স্পেস, আন্ডারস্কোর, স্পেশাল সিম্বল) ম্যাচ করে।

অ্যালফাবেটিক্যাল ক্যারেক্টার (A-Z, a-z) বাদে সব কিছুরิมুভ করতে split("\\W+") ব্যবহার করে স্ট্রিংকে শব্দে ভাগ করে, তারপর সেগুলো জয়েন করে দিলে শুধু অক্ষরগুলো বাকি থাকে।

পদ্ধতি

  1. ইনপুট স্ট্রিং নিন।
  2. split("\\W+") দিয়ে নন-অ্যালফাবেটিক্যাল ক্যারেক্টার দিয়ে স্প্লিট করুন।
  3. পাওয়া স্ট্রিং অ্যারের সব এলিমেন্ট একসাথে জয়েন করুন।

উদাহরণ

import java.util.Scanner;

public class RemovingAlphabet {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter your name: ");
        String str = sc.nextLine();
        
        // নন-ওয়ার্ড ক্যারেক্টার দিয়ে স্প্লিট
        String[] stringArray = str.split("\\W+");
        
        String result = "";
        for(int i = 0; i < stringArray.length; i++) {
            result += stringArray[i];
        }
        
        System.out.println("Result: " + result);
    }
}

আউটপুট

Enter your name: Krishna ^% Kasyap*@#
Result: KrishnaKasyap

আধুনিক বিকল্প (Java 8+ Stream API):

String result = Arrays.stream(str.split("\\W+"))
                      .collect(Collectors.joining());
// অথবা সরাসরি রিপ্লেস:
String result = str.replaceAll("\\W+", ""); // সব নন-ওয়ার্ড রিমুভ

দ্রষ্টব্য: \\W মানে [^a-zA-Z0-9_]। যদি শুধু অক্ষর (A-Z, a-z) রাখতে চান এবং ডিজিট/আন্ডারস্কোরও রিমুভ করতে চান, তবে replaceAll("[^a-zA-Z]", "") ব্যবহার করুন।

  1. জাভা প্রোগ্রাম: ফাইলের সব ক্যারেক্টার '#' দিয়ে রিপ্লেস করা ছাড়া একটি নির্দিষ্ট শব্দ

  2. জাভাতে স্ট্রিং অ্যারেকে একক স্ট্রিং-এ রূপান্তর করা

  3. জাভাতে একটি স্ট্রিংকে ক্যারেক্টার লিস্টে রূপান্তর করা

  4. জাভাতে ক্যারেক্টার লিস্টকে স্ট্রিং-এ রূপান্তর করা