رشته ها - 2 و 3 | آموزش دارت جلسات 004 و 005

در جلسه پیش ما درباره استرینگ ها صحبت کردیم. گفتیم چطوری یه کارکتر خاص بسازیم، یه عملی رو روی متغیر انجام بدیم و چطوری به متغیر یه چیزی رو بچسبونیم. در این جلسات قراره چون حجم 004 و 005 کم هست، دو تا رو تو یکی درس بدیم. به طور خلاصه قراره به چهار تا تابع اشاره کنیم و رشته های مختلف رو هم بزرگ کنیم، هم کوچیک کنیم، یه چیزی رو توش سرچ کنیم و هر چیزی که داخل یکی هست رو با یکی عوض کنیم.

جلسه 004

برای بزرگ کردن یه رشته، کافیه از تابعی toUpperCase استفاده کنیم. این تابع به راحتی استرینگ آپرکیس شده رو بهتون بر میگردونه. درباره تابع های برگشتی حتما صحبت خواهیم کرد.

بزارید یه مثال بزنیم:

String text = &quotWe all love Dart&quot
String Utext = text.toUpperCase();
print(Utext);

خروجی کد بالا به این شکل میباشد:

WE ALL LOVE DART

اما ولی تابع بعدی، استرینگ رو لورکیس میکنه. یعنی همه حروف ها به کیس کوچیک تغییر داده میشوند. این تابع toLowerCase نام دارد.

مثال برای toLowerCase:

String love = &quotDartians helps you&quot
String Ltext = love.toLowerCase();
print(Ltext);

همون طور که حدس میزنید، این رشته کوچیک میشه و خروجی چیزی هست که در زیر میبینید:

dartians help you

این بود جلسه 004. خیلی کوتاه و ساده. پس تا الان دو تا تابع جدید یاد گرفتیم برای کار با رشته ها. اما ولی برای مثال، تابع لورکیس به چه درد ما میخورد؟

یه مثال ساده میزنیم. برنامه برای انجام عملیات ها ممکنه از کاربر داده ای که میگیره حرف اولش بزرگ باشه، یا یه قسمتی بزرگ باشه و برنامه طوری تعریف نشده که بدونه اونا بزرگ شدن. پس اول کار اون متغیر رو کوچیک میکنه تا فرایند عملیات ها روش بدون مشکل اتفاق بیافته.

یه مثال دیگه. برای مثال برنامه از شما یه Y میخواد و یه N. خب برنامه طوری تعریف شده که اگه ورودی y بود مثلا ادامه بده و اگه n بود استوپ کنه. اما ولی شما وقتی Y میدید، برنامه متوجه نمیشه. پس اول کار میاد ورودی رو لورکیس میکنه.

چیت شیت این درس داخل گیتهاب.


جلسه 005

در جلسه پیش همین بالا دو تا تابع معرفی کردیم. بخوام توضیح بدم طول میکشه خسته میشید. بهتره برید یه نگاه به بالا بندازید. در این جلسه قراره دو تا تابع دیگه رو معرفی کنیم و با استفاده از تابع اول، یه استرینگ رو داخل یه استرینگ سرج کنیم و ببینیم وجود داره یا نه. با تابع دوم میگیم هر چی مثلا اسمبلی هست رو داخل استرینگ با دارت عوض کن.

خب، اولین تابعی که قراره استفاده کنیم، بهمون بولین برمیگردونه. یعنی true یا false. چون با شرط ها آشنا نیستید، فعلا درباره شرط ها حرفی نمیزنیم. این تابع contains نام دارد.

بریم یه مثال بزنیم:

String friends = &quotRachel, Phoebe, Monica, Joey, Ross, Chandler&quot
bool is_rachel = friends.contains(&quotRachel&quot);
bool is_amir = friends.contains(&quotamir&quot);
print(is_rachel);
print(is_amir);

خروجی به چه شکل میباشد؟

true
fasle

پس، وقتی شما داخل یه استرینگ میخوادید ببینید که یه چیزی وجود داره از contains استفاده میکنید. اینطوری شما خیلی راحت میتونید یه مقدار true یا false بدست بیارید.

تابع دوم یعنی replaceAll تابعی برای جایگذینی استرینگ ها میباشد. برای مثال میخوایم هر چی امیر داخل استرینگ هست به مهران تغییر کنه.

بریم مثال بزنیم:

String loves = &quotI love Js. We love Interstellar. The love fun&quot
print(loves);
String hates = loves.replaceAll(&quotlove&quot, &quothate&quot);
print(hates);

خروجی کد بالا اینطوری هست که اول بعد از تعریف متغیر، ما اونو چاپ میکنیم تا رشته رو ببینیم. حالا وقتی کلمات رو تغییر میدیم باز اونو چاپ میکنیم تا با رشته اول اونو مقایسه کنیم.

I love Js. We love Interstellar. The love fun
I hate Js. We hate Interstellar. The hate fun

دیدیم که تابع replaceAll دو تا پارامتر میگیره که اولی رشته فعلی هست و دومی رشته ای که قراره جاش بیاد.

لینک چیت شیت این جلسه در گیتهاب.


برای بهتر شدن و روون تر شدن در متد های رشته ها، حتما حتما زیاد تمرین کنید. میتونید با همه این 4 تا تابع یه برنامه تمرینی بنویسید.

سوال داشتید حتما داخل گروه بپرسید. همچنین به کانال تلگرام ما هم بپیوندید چون مسابقات،‌ چالش ها و غیره همه داخل کانال و گروه اطلاع رسانی میشه.

Channel: @Dartians

Group: @Dartians_Chat


تا جلسه بعدی خدانگهدار.