استخراج، حذف و جایگزین کردن رشته ها
براي استخراج قسمتي از يک رشته میتوان از متد ()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” با رشته خالي جايگزين شده و از رشته واقعي حذف میشوند.
poozesh mikham, fekr mikardam soalate mortabet ro mishe dar inja matrah kard. be kalameh nazar tavajoh nakardam.
ba salam va vaght bekheir,
besyar sepasgozaram az pasokhtoon. dar vaghe aslan niazi be substring ham nabood.
ba ehteram
mahan
ba salam va khaste nabashid,
chetor mishe ba estefadeh az method e substring yek string ro be soorate harf harf va zire ham daravord; va ya yek string ro be soorate baraxs nevesht? aya bayad oon ro ba komake yek halghe nevesht?
az pish sepasgozaram
ba ehteram
mahan
سلام… ممنون
لطفا از این به بعد سوالتونو تو بخش پرسش و پاسخ مطرح بفرمایید
اینم متدی که هر رشته ای بهش بدین برعکسش می کنه
به صورت زیر هم میشه
سلام. من می خوام متنی رو داخل یه فایل متنی جستجو کنه و با یه متن دیگه جایگزین کنه و فایل رو در همان مسیر با همان نام قبلی ذخیره کنه.
سلام، ممنون میشم سوالتونو تو بخش پرسش و پاسخ مطرح بفرمایید
سلام من می خوام تو یک جمله کاراکترهایی رو جستجو کنم در صورتی که بودن به جاشون یه چیز دیگه بزارم مثلا:
this is sample string خروجی th$s $s s%mpl& string که به جای I ها $ و به جای a ها % و به جای e ها & بزاره.
چطور می تونم این کار رو بکنم؟
مرسی
سلام، دو درس قبل تر رو مطالعه بفرمایید یعنی درس ((جداکردن رشته ها ))
سلام من میخواستم یک برنامه بنویسم که از کاربر یک جمله بگیرد و برنامه کلمات اونو جدا جدا نمایش بده میشه از این روش استفاده کرد?، ممکنه کمک کنید، ممنون
اینم کدش
با عرض سلام و خسته نباشید خدمت آقای ابراهیمی
یه سوال ازتون داشتم…
می خواستم بدونم با استفاده از چه تابعی در رشته،حرف صدار رو شمارش میکنه!
سلام ممنون از اموزشتون فقط یه سوال من از متد remove استفاده کردم ولی فقط برای یک سطر اعمال میشه اگه بخوام کل سطر های مثلا rich text رو تحت تاثیر بزاره باید چی کار کنم
سلام دوست خوبم ممنون میشم سوالاتتون رو در بخش پرسش و پاسخ سایت بپرسید .
سلام ممنون از آموزشش خوبتون
“متد Replace تمام کلمات “dog” واقع در رشته را پیدا کرده و کلمه “cat” را جایگزین آنها می کند”
اگه بخواهیم برای همه جایگزین نکنه چکار باید بکنیم؟؟؟
باید از یک حلقه while و به صورت دستی اندیس محل وقوع کلماتی که قرار است جایگزین شوند را مشخص کنید.