String.split() মেথড
String.split(regex) মেথড একটি রেগুলার এক্সপ্রেশন গ্রহণ করে, ইনপুট টেক্সটকে টোকেনে ভাগ করে, এবং স্ট্রিং অ্যারে হিসেবে রিটার্ন করে।
উদাহরণ ১: ডিজিট দিয়ে স্ট্রিং স্প্লিট (String.split)
import java.util.Scanner;
public class SplitExample1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("ইনপুট টেক্সট লিখুন: ");
String input = sc.nextLine();
// ডিজিট দিয়ে স্প্লিট
String[] strArray = input.split("\\d");
for (int i = 0; i < strArray.length; i++) {
System.out.println(strArray[i]);
}
}
}
আউটপুট উদাহরণ ১
ইনপুট টেক্সট লিখুন: 1Ramu 2Raju 3Radha 4Rahman 5Rachel
Ramu
Raju
Radha
Rahman
Rachel
Pattern.split() মেথড (java.util.regex 패키지)
আপনি Pattern ক্লাসের split() মেথডটিও ব্যবহার করতে পারেন। এটি একই কাজ করে কিন্তু প্যাটার্ন অবজেক্ট রিয়ูজ করার সুবিধা দেয়।
উদাহরণ ২: Pattern.split() ব্যবহার
import java.util.Scanner;
import java.util.regex.Pattern;
public class SplitExample2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("ইনপুট টেক্সট লিখুন: ");
String input = sc.nextLine();
String regex = "\\d";
Pattern pattern = Pattern.compile(regex);
// Pattern.split() ব্যবহার
String[] strArray = pattern.split(input);
for (int i = 0; i < strArray.length; i++) {
System.out.println(strArray[i]);
}
}
}
আউটপুট উদাহরণ ২
ইনপুট টেক্সট লিখুন: 1Ramu 2Raju 3Radha 4Rahman 5Rachel
Ramu
Raju
Radha
Rahman
Rachel
দুই পদ্ধতির পার্থক্য
| বিষয় | String.split() | Pattern.split() |
|---|---|---|
| সিনট্যাক্স | str.split(regex) | pattern.split(str) |
| প্যাটার্ন রিয়উজ | নहीं (প্রতিবার কম্পাইল হয়) | হ্যাঁ (প্যাটার্ন অবজেক্ট রিয়ুজ) |
| পারফরম্যান্স | वन-টাইম ইউজের জন্য ঠিক | বারবার ব্যবহারে দ্রুত |
| লিমিট প্যারামিটার | split(regex, limit) | split(str, limit) |
সাধারণ স্প্লিট প্যাটার্ন উদাহরণ
| রেজেক্স | ব্যাখ্যা | উদাহরণ ইনপুট | ফলাফল |
|---|---|---|---|
\\s+ | এক বা অধিক হোয়াইটস্পেস | "a b c" | ["a", "b", "c"] |
, | কমা দিয়ে | "a,b,c" | ["a", "b", "c"] |
[,.] | কমা বা ডট দিয়ে | "a,b.c" | ["a", "b", "c"] |
\\d+ | এক বা অধিক ডিজিট দিয়ে | "a123b45c" | ["a", "b", "c"] |
সারসংক্ষেপ
split() রেগেক্স-ভিত্তিক টেক্সট পার্সিংয়ের সবচেয়ে সহজ এবং পাওয়ারফুল টুল। একবারের জন্য `String.split()` এবং বারবার ব্যবহারে `Pattern.split()` — এই নিয়ম মেনে চলে পারফরম্যান্স অপ্টিমাইজ করুন।