حذف یک کاراکتر از یک رشته در سیشارپ
برای حذف یک کاراکتر از یک رشته در سیشارپ میتوان از متدهایی مانند Remove، Replace و Substring استفاده کرد.
حذف یک کاراکتر از یک رشته در سیشارپ
در برنامهنویسی با #C ، یکی از رایجترین عملیات روی رشتهها (String)، حذف یک یا چند کاراکتر از متن است.
ممکن است بخواهید اولین حرف، آخرین حرف، یک کاراکتر خاص یا کاراکتری در یک موقعیت مشخص را حذف کنید.
این کار در پردازش دادهها، اعتبارسنجی ورودی کاربران، ویرایش متن و بسیاری از پروژههای واقعی کاربرد دارد.
رشته (String) در سیشارپ غیرقابل تغییر است
قبل از شروع باید بدانید که String در C# Immutable است؛ یعنی پس از ایجاد یک رشته، امکان تغییر مستقیم آن وجود ندارد.
به عنوان مثال:
string text = "Hello";
اگر بخواهید حرف H را حذف کنید، مقدار داخل همان رشته تغییر نمیکند، بلکه رشته جدیدی ساخته میشود.

حذف کاراکتر با متد Remove در سی شارپ
سادهترین روش حذف کاراکتر، استفاده از متد Remove است.
ساختار کلی:
string.Remove(startIndex);
یا
string.Remove(startIndex, count);
پارامترها:
- startIndex محل شروع حذف
- count تعداد کاراکترهایی که حذف میشوند
آیا به دنبال یک فرصت عالی برای یادگیری برنامهنویسی هستید؟ 🚀با دوره آموزشی سیشارپ ما، شما میتوانید مهارتهای خود را به سطح جدیدی ارتقا دهید! این دوره بهطور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامهنویسی سیشارپ پیش بروید.
👨🏫 چرا دوره ما را انتخاب کنید؟
- محتوای جامع و عملی: با پروژههای واقعی و تمرینات عملی، یادگیری را به تجربهای جذاب تبدیل کنید.
- مدرس مجرب: از تجربه و دانش مدرس حرفهای بهرهمند شوید که شما را در هر مرحله از یادگیری راهنمایی میکنند.
- پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
- دسترسی مادامالعمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، میتوانید به آن مراجعه کنید.
💡 فرصت را از دست ندهید!
بایادگیری سیشارپ، میتوانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژههای جذاب و چالشبرانگیز شرکت کنید.
همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آیندهای روشنتر بردارید!
شرکت در دوره آموزش برنامه نویسی سی شارپ
حذف اولین کاراکتر در سیشارپ
string text = "Programming";
string result = text.Remove(0,1);
Console.WriteLine(result);
خروجی:
rogramming
حذف آخرین کاراکتر در سیشارپ
string text = "Programming";
string result = text.Remove(text.Length - 1);
Console.WriteLine(result);
خروجی:
Programmin
حذف سه کاراکتر در سیشارپ
string text = "Programming";
string result = text.Remove(4,3);
Console.WriteLine(result);
خروجی:
Progrming
حذف کاراکتر با Replace در سیشارپ
اگر مقدار کاراکتر را بدانید، استفاده از Replace بسیار ساده است.
string text = "Hello";
string result = text.Replace("l","");
خروجی:
Heo
تمام کاراکترهای l حذف میشوند.
حذف فاصلهها در سیشارپ
string text = "zoheir software";
string result = text.Replace(" ","");
خروجی
zoheirsoftware
حذف ویرگول در سیشارپ
string text = "10,20,30";
string result = text.Replace(",","");
خروجی
102030
حذف اولین کاراکتر در سیشارپ
گاهی فقط میخواهید اولین حرف حذف شود.
string text = "Visual Studio";
string result = text.Substring(1);
خروجی
isual Studio
حذف آخرین کاراکتر
string text = "Visual Studio";
string result = text.Substring(0,text.Length-1);
خروجی
Visual Studi
حذف کاراکتر با LINQ
فرض کنید میخواهید تمام حروف a حذف شوند.
using System.Linq;
string text = "banana";
string result = new string(text.Where(c => c != 'a').ToArray());
Console.WriteLine(result);
خروجی
bnn
حذف کاراکتر با StringBuilder
اگر تعداد تغییرات زیاد باشد، استفاده از StringBuilder مناسبتر است.
using System.Text;
StringBuilder sb = new StringBuilder("Programming");
sb.Remove(0,1);
Console.WriteLine(sb);
خروجی
rogramming
حذف کاراکتر بر اساس اندیس
فرض کنید کاربر شماره کاراکتر را وارد میکند.
string text = "Database";
int index = 3;
string result = text.Remove(index,1);
Console.WriteLine(result);
خروجی
Datbase
حذف تمام اعداد از رشته در سیشارپ
using System.Linq;
string text = "Ali123Reza45";
string result = new string(text.Where(c => !char.IsDigit(c)).ToArray());
Console.WriteLine(result);
خروجی
AliReza
حذف تمام حروف
using System.Linq;
string text = "ABC123XYZ";
string result = new string(text.Where(c => !char.IsLetter(c)).ToArray());
Console.WriteLine(result);
خروجی
123
حذف تمام فاصلههای اضافی
string text = "Hello World";
string result = text.Replace(" ","");
خروجی
HelloWorld
حذف اولین فاصله
string text = "Hello World Example";
int index = text.IndexOf(' ');
string result = text.Remove(index,1);
Console.WriteLine(result);
خروجی
HelloWorld Example
حذف آخرین فاصله
string text = "Hello World Example";
int index = text.LastIndexOf(' ');
string result = text.Remove(index,1);
Console.WriteLine(result);
خروجی
Hello WorldExample
حذف چند کاراکتر مشخص در سیشارپ
فرض کنید بخواهیم حروف a و e حذف شوند.
using System.Linq;
string text = "Create Website";
string result = new string(text.Where(c => c != 'a' && c != 'e').ToArray());
Console.WriteLine(result);
خروجی
Crt Wbsit
حذف کاراکترهای تکراری در سیشارپ
using System.Linq;
string text = "programming";
string result = new string(text.Distinct().ToArray());
Console.WriteLine(result);
خروجی
progamin
حذف اولین و آخرین کاراکتر
string text = "Database";
string result = text.Substring(1, text.Length - 2);
Console.WriteLine(result);
خروجی
atabas
حذف کاراکترهای خاص در سیشارپ
using System.Linq;
string text = "ABC@123#XYZ";
string result = new string(text.Where(char.IsLetterOrDigit).ToArray());
Console.WriteLine(result);
خروجی
ABC123XYZ
حذف کاراکترهای کنترلی در سیشارپ
using System.Linq;
string text = "Hello\tWorld\n";
string result = new string(text.Where(c => !char.IsControl(c)).ToArray());
Console.WriteLine(result);
بررسی خطا هنگام حذف
اگر اندیس اشتباه باشد، برنامه خطا میدهد.
string text = "Hello";
string result = text.Remove(20,1);
خطا:
ArgumentOutOfRangeException
بنابراین بهتر است قبل از حذف بررسی کنیم.
if(index >=0 && index < text.Length)
{
text = text.Remove(index,1);
}
تفاوت Remove و Replace در سیشارپ
| Remove | Replace |
| حذف بر اساس موقعیت | حذف بر اساس مقدار |
| نیاز به اندیس دارد | نیاز به کاراکتر دارد |
| سریع برای حذف یک بخش مشخص | مناسب حذف تمام نمونهها |
| فقط بخشی از رشته را حذف میکند | همه نمونههای کاراکتر را جایگزین میکند |
Remove یا StringBuilder؟
اگر فقط یک یا دو بار رشته را تغییر میدهید:
Remove
کاملاً مناسب است.
اما اگر داخل حلقه هزاران بار رشته تغییر میکند:
StringBuilder
انتخاب بسیار بهتری خواهد بود؛ زیرا از ایجاد رشتههای متعدد جلوگیری کرده و مصرف حافظه و زمان اجرا را کاهش میدهد.
بهترین روش در هر سناریو
| سناریو | روش پیشنهادی |
| حذف اولین کاراکتر | Remove(0,1) یا Substring(1) |
| حذف آخرین کاراکتر | Remove(text.Length-1) |
| حذف چند کاراکتر از وسط | Remove(index, count) |
| حذف تمام کاراکترهای یکسان | Replace() |
| حذف بر اساس شرط | LINQ (Where) |
| حذف تعداد زیادی کاراکتر در عملیات متوالی | StringBuilder.Remove() |
| حذف کاراکترهای غیرمجاز | char.IsLetterOrDigit همراه با Where |
جمعبندی
حذف کاراکتر از رشته در سیشارپ با روشهای مختلفی امکانپذیر است و انتخاب روش مناسب به نیاز شما بستگی دارد.
اگر محل دقیق کاراکتر را میدانید، متد Remove بهترین گزینه است. برای حذف همه نمونههای یک کاراکتر یا عبارت، Replace انتخاب ساده و خوانایی است.
زمانی که حذف بر اساس یک شرط خاص انجام میشود، استفاده از LINQ انعطاف بیشتری فراهم میکند و برای تغییرات مکرر روی رشتهها، StringBuilder عملکرد بهتری دارد.
شناخت این روشها به شما کمک میکند کدهای تمیزتر، سریعتر و بهینهتری بنویسید و در پروژههای واقعی مانند پردازش متن، اعتبارسنجی اطلاعات کاربران و پاکسازی دادهها، بهترین راهکار را انتخاب کنید.



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