String ক্লাসের split() মেথড একটি রেগুলার এক্সপ্রেশন (ডিলিমিটার) ব্যবহার করে স্ট্রিংকে টোকেনে ভাগ করে। রেগুলার এক্সপ্রেশন \\W+ সব নন-ওয়ার্ড ক্যারেক্টার (পাঙ্কচুয়েশন, স্পেস, আন্ডারস্কোর, স্পেশাল সিম্বল) ম্যাচ করে।
অ্যালফাবেটিক্যাল ক্যারেক্টার (A-Z, a-z) বাদে সব কিছুরิมুভ করতে split("\\W+") ব্যবহার করে স্ট্রিংকে শব্দে ভাগ করে, তারপর সেগুলো জয়েন করে দিলে শুধু অক্ষরগুলো বাকি থাকে।
পদ্ধতি
- ইনপুট স্ট্রিং নিন।
split("\\W+")দিয়ে নন-অ্যালফাবেটিক্যাল ক্যারেক্টার দিয়ে স্প্লিট করুন।- পাওয়া স্ট্রিং অ্যারের সব এলিমেন্ট একসাথে জয়েন করুন।
উদাহরণ
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]", "") ব্যবহার করুন।