String ক্লাসে ক্যারেক্টার বা সাবস্ট্রিং রিপ্লেস করার জন্য তিনটি প্রধান মেথড রয়েছে। সবগুলো কেস-সেনসিটিভ।
১. replace(char oldChar, char newChar) / replace(CharSequence target, CharSequence replacement)
- কাম: স্ট্রিংয়ের সবMatching ক্যারেক্টার/সাবস্ট্রিং রিপ্লেস করে।
- রেগেক্স নয়: সাদা টেক্সট ম্যাচ করে (রেগুলার এক্সপ্রেশন না)।
- রিটার্ন: নতুন স্ট্রিং (অরিজিনাল স্ট্রিং অপরিবর্তিত থাকে)।
উদাহরণ
String str = "Hello Tutorialspoint. At Tutorialspoint we learn.";
System.out.println(str.replace("Tutorialspoint", "TP"));
// Output: Hello TP. At TP we learn.
System.out.println(str.replace('T', '#'));
// Output: Hello #utorialspoint. At #utorialspoint we learn.
২. replaceAll(String regex, String replacement)
- কাম: রেগুলার এক্সপ্রেশন (Regex) ম্যাচ করে সব Vorkurrence রিপ্লেস করে।
- রেগেক্স হ্যাঁ: প্যাটার্ন ম্যাচিং সাপোর্ট করে (যেমন
\\bword\\bওয়ার্ড বাউন্ডারি)।
উদাহরণ
String str = "Hello Tutorialspoint. At Tutorialspoint we learn.";
System.out.println(str.replaceAll("\\bTutorialspoint\\b", "TP"));
// Output: Hello TP. At TP we learn. (শুধু পুরো শব্দ ম্যাচ)
৩. replaceFirst(String regex, String replacement)
- কাম: রেগেক্স ম্যাচ করে প্রথম Vorkurrence মাত্র রিপ্লেস করে।
উদাহরণ
String str = "Hello Tutorialspoint. At Tutorialspoint we learn.";
System.out.println(str.replaceFirst("Tutorialspoint", "TP"));
// Output: Hello TP. At Tutorialspoint we learn. (শুধু প্রথমটি)
তুলনা সারসংক্ষেপ
| মেথড | Regex? | কতগুলো রিপ্লেস? | ব্যবহার ক্ষেত্র |
|---|---|---|---|
| replace(char, char) | না | সব | সিংগল ক্যারেক্টার রিপ্লেস |
| replace(CharSeq, CharSeq) | না | সব | সিম্পল সাবস্ট্রিং রিপ্লেস (ফাস্ট) |
| replaceAll(regex, repl) | হ্যাঁ | সব | প্যাটার্ন ভিত্তিক রিপ্লেস (ওয়ার্ড বাউন্ডারি, ডিজিট ইত্যাদি) |
| replaceFirst(regex, repl) | হ্যাঁ | প্রথমটি | শুধু প্রথম ম্যাচ রিপ্লেস |
পারফরম্যান্স টিপ: রেগেক্স দরকার নেইলে replace(CharSequence, CharSequence) ব্যবহার করুন (অন_ptimized, নন-রেগেক্স পাথ)।