"

Replace در سی‌شارپ,متد Replace در سی‌شارپ چیست؟,سینتکس Replace در #C

Replace در سی‌شارپ

متد Replace در سی‌شارپ برای جایگزین کردن کلمات، عبارت‌ها و کاراکترهای یک رشته استفاده می‌شود و کاربرد زیادی در پردازش متن دارد

تیم تحریریه
2
0
02 شهریور 1405
لینک کوتاه

Replace در سی‌شارپ چیست؟

متد Replace در سی‌شارپ (#C) یکی از متدهای پرکاربرد برای کار با رشته‌ها (string) است.
با استفاده از ()Replace می‌توان بخشی از یک متن، یک کلمه، عبارت یا حتی یک کاراکتر را با مقدار دیگری جایگزین کرد.
این متد در برنامه‌نویسی روزمره، پردازش متن، پاک‌سازی داده‌ها، فرم‌ها و بسیاری از پروژه‌های نرم‌افزاری کاربرد دارد.


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 در پروژه‌های واقعی

تفاوت 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 با Regex در سی شارپ


جمع‌بندی

متد 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 در سی‌شارپ” اشتراک بزارید

برای ارسال نظر لطفا ورود یا ثبت نام کنید

منو