String.Replace() মেথড ব্যবহার করে স্ট্রিং-এ নির্দিষ্ট সাবস্ট্রিং বা ক্যারেক্টারকে অন্য সাবস্ট্রিং/ক্যারেক্টার দিয়ে প্রতিস্থাপন করা যায়। এটি নতুন স্ট্রিং রিটার্ন করে (ইমিউটেবল)।
সিনট্যাক্স
string result = original.Replace("oldValue", "newValue");
// অথবা ক্যারেক্টার
string result = original.Replace('a', 'b');
সম্পূর্ণ উদাহরণ
using System;
class StringReplaceDemo
{
public static void Main()
{
string str = "Demo text!";
Console.WriteLine("প্রাথমিক: " + str);
// শব্দ প্রতিস্থাপন
string res = str.Replace("Demo ", "New ");
Console.WriteLine("প্রতিস্থাপনের পর: " + res);
// ক্যারেক্টার প্রতিস্থাপন
string chars = "abcabc";
string replaced = chars.Replace('a', 'X');
Console.WriteLine($"'{chars}' -> '{replaced}'"); // XbcXbc
// সকল ঘটনা প্রতিস্থাপন হয়
string multi = "one two one two one";
Console.WriteLine(multi.Replace("one", "1")); // 1 two 1 two 1
}
}
আউটপুট
প্রাথমিক: Demo text!
প্রতিস্থাপনের পর: New text!
'abcabc' -> 'XbcXbc'
1 two 1 two 1
গুরুত্বপূর্ণ বৈশিষ্ট্য
- ইমিউটেবল: মূল স্ট্রিং অপরিবর্তিত থাকে।
- সকল ঘটনা: শুধু প্রথমটি নয়, সবটি রিপ্লেস হয়।
- কেস-সেনসিটিভ: "Demo" != "demo"
- চেইনিং:
s.Replace("a","b").Replace("c","d")
কেস-ইনসেনসিটিভ রিপ্লেস (Regex)
using System.Text.RegularExpressions;
string result = Regex.Replace("Demo demo DEMO", "demo", "NEW", RegexOptions.IgnoreCase);
// "NEW NEW NEW"
প্রথম ঘটনা মাত্র রিপ্লেস (LINQ/কাস্টম)
public static string ReplaceFirst(string source, string oldVal, string newVal)
{
int pos = source.IndexOf(oldVal);
if (pos < 0) return source;
return source.Substring(0, pos) + newVal + source.Substring(pos + oldVal.Length);
}