استخراج، حذف و جایگزین کردن رشته ها

براي استخراج قسمتي از يک رشته می‌توان از متد ()Substring استفاده کرد. اين متد دو آرگومان قبول می‌کند که يکي انديس شروع و ديگري طولي از رشته را که می‌خواهیم استخراج کنيم. به مثال زير توجه کنيد.

string str1 = "This is a sample string.";
//Extract sample
string str2 = str1.Substring(10, 6);

Console.WriteLine("str1 = {0}", str1);
Console.WriteLine("str2 = {0}", str2);
str1 = This is a sample string.
str2 = sample

استخراج را از انديس 10 شروع کرده‌ایم (آرگومان اول که عدد 10 است). همانطور که مشاهده می‌کنید کلمه “sample” از انديس 10 شروع شده است (کاراکتر يازدهم). آرگومان دوم نشان می‌دهد که ما چند کاراکتر را می‌خواهیم استخراج کنيم. ازآنجاييکه عدد 6 را براي اين آرگومان در نظر گرفته اين 6 کاراکتر از رشته مورد نظر استخراج می‌شود. اگر نخواهيد که مکان قرار گرفتن کلمه “sample” را به صورت دستي شمارش کنيد، می‌توانید با استفاده از متد ()IndexOf اين کار را انجام دهيد.

string str2 = str1.Substring(str1.IndexOf("sample"), 6);

يکي ديگر ازسربارگذاريهاي متد ()Substirng فقط يک آرگومان که براي تعيين کردن انديس شروع استخراج به کار می‌رود را، قبول می‌کند. در نتيجه، استخراج از اين انديس شروع شده و تا پايان رشته ادامه می‌یابد.

حذف رشته‌ها با استفاده از متد Remove

براي حذف رشته‌ها می‌توان از متد ()Remove استفاده کرد. پارامترهاي ان شبيه متد ()Substring می‌باشد.

string str1 = "This is a sample string.";
Console.WriteLine(str1);
Console.WriteLine("Removing "sample"...");
str1 = str1.Remove(10, 7);
Console.WriteLine(str1);
This is a sample string.
Removing "sample "...
This is a string.

يکي از سربارگذاري هاي متد ()Remove يک آرگومان که انديس شروع حذف را نشان قبول می‌کند. حذف رشته از اين انديس شروع و تا پايان رشته ادامه می‌یابد.

جايگزين کردن رشته‌ها با استفاده از متد Replace

با استفاده از متد ()Replace می‌توان يک رشته خاص را با يک رشته ديگر عوض کرد. به عنوان مثال در کد زير می‌توان کلمه “dog” را با کلمه “cat” عوض کرد.

string str1 = "That dog is a lovely dog.";
Console.WriteLine(str1);
Console.WriteLine("Replacing all dogs with cats...");
str1 = str1.Replace("dog", "cat");
Console.WriteLine(str1);
That dog is a lovely dog.
Replacing all dogs with cats...
That cat is a lovely cat.

متد ()Replace دو آرگومان قبول می‌کند. اولين آرگومان رشته‌ای است که می‌خواهیم آن را با يک رشته جديد جايگزين کنيم (رشته قديم) و ديگري رشته جديد است. متد ()Replace تمام کلمات “dog” واقع در رشته را پيدا کرده و کلمه “cat” را جايگزين آن‌ها می‌کند. از اين متد می‌توان براي حذف همه کلمات مثلاً “dog” در مثال زير استفاده کرد.

string str1 = "That dog is a lovely dog.";
Console.WriteLine(str1);
Console.WriteLine("Removing all dogs...");
str1 = str1.Replace("dog", String.Empty);
Console.WriteLine(str1);
That dog is a lovely dog.
Removing the dogs...
That  is a lovely .

در کد بالا از ()String.Empty به عنوان يک رشته جايگزين استفاده شده است. متد ()String.Empty معادل “” و به معناي رشته خالي می‌باشد. بنابراين تمام محل‌های وقوع کلمه “dog” با رشته خالي جايگزين شده و از رشته واقعي حذف می‌شوند.