Replace در سیشارپ
متد Replace در سیشارپ برای جایگزین کردن کلمات، عبارتها و کاراکترهای یک رشته استفاده میشود و کاربرد زیادی در پردازش متن دارد
02 شهریور 1405
لینک کوتاه
Replace در سیشارپ چیست؟
متد Replace در سیشارپ (#C) یکی از متدهای پرکاربرد برای کار با رشتهها (string) است.با استفاده از ()Replace میتوان بخشی از یک متن، یک کلمه، عبارت یا حتی یک کاراکتر را با مقدار دیگری جایگزین کرد.
این متد در برنامهنویسی روزمره، پردازش متن، پاکسازی دادهها، فرمها و بسیاری از پروژههای نرمافزاری کاربرد دارد.
متد Replace در سیشارپ چیست؟
در زبان برنامهنویسی #C، نوع داده string دارای متدی به نام ()Replace است. این متد یک مقدار مشخص را در رشته پیدا کرده و آن را با مقدار جدید جایگزین میکند.
سادهترین شکل استفاده از آن به صورت زیر است:
string text = "Hello World";
string result = text.Replace("World", "CSharp");
Console.WriteLine(result);
خروجی برنامه:
Hello CSharp
در این مثال، کلمه World با CSharp جایگزین شده است.
آیا به دنبال یک فرصت عالی برای یادگیری برنامهنویسی هستید؟ 🚀
با دوره آموزشی سیشارپ ما، شما میتوانید مهارتهای خود را به سطح جدیدی ارتقا دهید! این دوره بهطور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامهنویسی سیشارپ پیش بروید.
👨🏫 چرا دوره ما را انتخاب کنید؟
- محتوای جامع و عملی: با پروژههای واقعی و تمرینات عملی، یادگیری را به تجربهای جذاب تبدیل کنید.
- مدرس مجرب: از تجربه و دانش مدرس حرفهای بهرهمند شوید که شما را در هر مرحله از یادگیری راهنمایی میکنند.
- پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
- دسترسی مادامالعمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، میتوانید به آن مراجعه کنید.
💡 فرصت را از دست ندهید!
بایادگیری سیشارپ، میتوانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژههای جذاب و چالشبرانگیز شرکت کنید.
همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آیندهای روشنتر بردارید!
سینتکس Replace در #C
ساختار کلی استفاده از Replace به شکل زیر است:string.Replace(oldValue, newValue);
در این ساختار:
- oldValue مقداری است که میخواهیم پیدا و جایگزین کنیم.
- newValue مقداری است که قرار است جایگزین مقدار قبلی شود.
string name = "Ali is a programmer";
string result = name.Replace("programmer", "developer");
مقدار result برابر خواهد بود با:
Ali is a developer
جایگزینی کاراکتر با Replace در سی شارپ
متد Replace فقط برای کلمات و رشتهها نیست و میتوان از آن برای جایگزینی یک کاراکتر نیز استفاده کرد.مثلاً:
string text = "Hello-World";
string result = text.Replace('-', ' ');
Console.WriteLine(result);
خروجی:
Hello World
در این مثال، تمام خط تیرههای - با فاصله جایگزین میشوند.
حذف متن با Replace در سی شارپ
یکی از کاربردهای مهم Replace حذف بخشی از یک رشته است.برای این کار میتوان مقدار موردنظر را با یک رشته خالی جایگزین کرد.
string text = "Hello World";
string result = text.Replace(" World", "");
Console.WriteLine(result);
خروجی:
Hello
این روش برای حذف کلمات، کاراکترهای اضافی و بخشهای مشخصی از متن بسیار کاربردی است.
جایگزینی چند مقدار در یک رشته
میتوان چند بار از ()Replace استفاده کرد. برای مثال:string text = "Ali-20-Tehran";
text = text.Replace("-", " ");
Console.WriteLine(text);
خروجی:
Ali 20 Tehran
همچنین میتوان چند جایگزینی مختلف را پشت سر هم انجام داد:
string text = "Hello World";
text = text.Replace("Hello", "Hi")
.Replace("World", "Everyone");
Console.WriteLine(text);
خروجی:
Hi Everyone
Replace در سیشارپ به حروف بزرگ و کوچک حساس است
یکی از نکات مهم درباره Replace این است که در حالت معمول، به حروف بزرگ و کوچک انگلیسی حساس است.
برای مثال:
string text = "Hello hello HELLO";
string result = text.Replace("hello", "Hi");
Console.WriteLine(result);
خروجی:
Hello Hi HELLO
همانطور که مشاهده میکنید، فقط hello دقیقاً مطابق مقدار جستجو جایگزین شده است.
بنابراین Hello و HELLO به صورت خودکار جایگزین نمیشوند.
آیا Replace رشته اصلی را تغییر میدهد؟
خیر. در #C نوع string یک نوع immutable یا تغییرناپذیر است.به همین دلیل، ()Replace رشته اصلی را مستقیماً تغییر نمیدهد، بلکه یک رشته جدید ایجاد و برمیگرداند.
مثلاً:
string text = "Hello World";
text.Replace("World", "CSharp");
Console.WriteLine(text);
خروجی همچنان خواهد بود:
Hello World
برای ذخیره نتیجه باید بنویسیم:
string text = "Hello World";
text = text.Replace("World", "CSharp");
Console.WriteLine(text);
اکنون خروجی:
Hello CSharp
خواهد بود.
این نکته یکی از رایجترین مواردی است که افراد هنگام یادگیری Replace در سیشارپ با آن مواجه میشوند.
استفاده از Replace برای حذف فاصلههای اضافی
فرض کنید متنی داریم که در آن از کاراکتر خاصی استفاده شده و میخواهیم آن را حذف کنیم:string text = "Ali@Tehran@Iran";
string result = text.Replace("@", " ");
Console.WriteLine(result);
خروجی:
Ali Tehran Iran
البته برای مدیریت پیچیدهتر فاصلههای اضافی، روشهایی مانند ()Trim()، Split و Regular Expression نیز وجود دارند، اما ()Replace برای جایگزینیهای ساده انتخاب مناسبی است.
Replace برای تغییر فرمت شماره تلفن
فرض کنید شماره تلفن به این شکل ذخیره شده است:0912-123-4567
و میخواهیم خط تیرهها را حذف کنیم:
string phone = "0912-123-4567";
phone = phone.Replace("-", "");
Console.WriteLine(phone);
خروجی:
09121234567
این روش در پردازش و پاکسازی دادههای متنی بسیار کاربردی است.
Replace در پروژههای واقعی
در پروژههای واقعی #C ممکن است از () Replace برای کارهای مختلف استفاده شود؛ برای مثال:-
حذف کاراکترهای غیرضروری
-
اصلاح فرمت متن
-
جایگزینی کلمات
-
پاکسازی دادههای ورودی
-
تغییر فرمت شماره تلفن
-
آمادهسازی متن برای ذخیره در پایگاه داده
-
پردازش فایلهای متنی
-
تغییر قالب URL
-
حذف بخشی از یک رشته
-
تبدیل جداکنندههای مختلف به یک جداکننده استاندارد
string date = "2026-08-21";
date = date.Replace("-", "/");
Console.WriteLine(date);
خروجی:
2026/08/21

تفاوت Replace و ReplaceAll در سی شارپ
در #C متدی با نام () ReplaceAll برای string وجود ندارد. برخلاف برخی زبانها، در #C کافی است از ()Replace استفاده کنید؛ زیرا این متد تمام موارد مطابق با مقدار موردنظر را در رشته جایگزین میکند.
مثلاً:
string text = "cat dog cat bird cat";
string result = text.Replace("cat", "fox");
Console.WriteLine(result);
خروجی:
fox dog fox bird fox
همانطور که میبینید، تمام نمونههای cat جایگزین شدهاند.
Replace با مقدار Null در سی شارپ
در استفاده از Replace باید به مقادیر null نیز توجه کرد.اگر خود رشته null باشد، نمیتوان مستقیماً متد ()Replace را روی آن اجرا کرد:
string text = null;
string result = text.Replace("A", "B");
این کد میتواند باعث NullReferenceException شود.
برای جلوگیری از چنین مشکلی میتوان ابتدا مقدار را بررسی کرد:
string text = null;
if (text != null)
{
text = text.Replace("A", "B");
}
یا بسته به نیاز برنامه از روشهای مناسب برای مدیریت null استفاده کرد.
تفاوت Replace با Regex در سی شارپ
برای جایگزینیهای ساده، ()Replace معمولاً گزینهای سریع و خوانا است.اما اگر بخواهیم بر اساس یک الگوی پیچیده جستجو و جایگزینی انجام دهیم، میتوان از Regular Expression یا همان Regex استفاده کرد.
مثلاً:
using System.Text.RegularExpressions;
string text = "Ali123";
string result = Regex.Replace(text, @"\d", "");
Console.WriteLine(result);
خروجی:
Ali
در این مثال، تمام اعداد حذف شدهاند.
بنابراین میتوان گفت برای جایگزینی ساده از Replace و برای الگوهای پیچیدهتر از Regex.Replace استفاده میشود.

جمعبندی
متد Replace در #C یک ابزار ساده و بسیار کاربردی برای کار با رشتههاست.با استفاده از آن میتوان یک کلمه، عبارت یا کاراکتر را پیدا و با مقدار جدید جایگزین کرد.
نمونه پایه:
string text = "Hello World";
string result = text.Replace("World", "CSharp");
Console.WriteLine(result);
خروجی:
Hello CSharp
همچنین برای حذف یک مقدار میتوان آن را با رشته خالی جایگزین کرد:
text = text.Replace("World", "");
مهمترین نکته این است که string در #C تغییرناپذیر است؛ بنابراین ()Replace رشته جدیدی برمیگرداند و اگر بخواهید تغییر را نگه دارید، باید نتیجه را در یک متغیر ذخیره کنید.


کاربران ما
شما هم نظرتون با ما دریاره “Replace در سیشارپ” اشتراک بزارید
برای ارسال نظر لطفا ورود یا ثبت نام کنید