متد رشته ها یا Strings Method مبحث بسیار پر کاربرد در جاوا اسکریپت است که روز قبل با رشته ها آشنا شدیم و با استفاد از ویژگی هایی که متد ها در رشته در اختیار ما میذارن میتونیم ار رشته ها به عنوان یک شی یا Object استفاده کنیم.
متد های رشته به شما کمک میکنه تا به خوبی با رشته ها کار کنید.
از متد Length برای پیدا کردن تعداد کاراکتر یا طول یک رشته استفاده میشه.
var name = "Mega JS" var chr = name.length // output: 6
توجه کنید که Space یا علائم نگارشی نیز شمرده میشن.
متد ()indexOf شماره ایندکس اولین حرف از کلمه داخل پرانتز را به ما برمیگردونه.
var text = "Best Way To Learn javascript" ; var pos = text.indexOf("javascript"); // output: 18
نکته اینحاست که هر زمان از شماره ایندکس حرف زدیم یعنی شمارش از ۰ شروع میشه
متد ()lastIndexOf آخرین کلمه ای که در رشته با کلمه داخل پرانتز همخونی داشته باشه بر میگردونه. البته اگه ۲ تا یا بیشتر از کلمه مورد نظر وجود داشته باشه.
var text = "Best Way To Learn js on Best js website" ; var pos = text.lastIndexOf("js"); // output: 29
هر دو متد indexOf و lastIndexOf اگر کلمه مورد نظر پیدا نشه، (۱-) برمیگردونن
برای استخراج قسمتی از یک رشته یا به اصظلاح (Extracting String Parts) سه روش وجود دارد.
متد ()slice قسمتی از یک رشته را استخراج میکنه و داخل یک رشته جدید بر میگردونه. متد slice دوتا پارامتر ورودی داره، پارامتر اول شماره ایندکس شروع و پارامتر دوم شماره ایندکس بعد پایان است.
var name = "Mohammad reza Haji maghsoodi" ; var res = name.slice(9, 13) ; // output: reza
توجه داشته باشید که پارامتر دوم در خروجی نمایش داده نمیشه و یه شماره قبل اون آخرین کاراکتر نمایشی محسوب میشه.
همچین میشه از آخر هم شمرد، به این صورت که ۲تا پارارمتر رو عدد منفی میدیم و جای پارامتر اول و دوم عوض میشه. پارامتر اول شماره ایندکس آخرین خونس و پارامتر دوم شماره ایندکس اولین خونس.
var name = "Mohammad reza Haji maghsoodi" ; var res = name.slice(-19, -15) ; // output: reza
اگه فقط یه پارامتر داخل پرانتز قرار بگیره، از اون شماره ایندکس تا آخر رشته انتخاب میشه.
var name = "Mohammad reza Haji maghsoodi" ; var res = name.slice(14) ; // output: Haji maghsoodi
متد ()substring مشابه متد ()slice عمل میکند. با این تفاوت که در متد substring پارامتر منفی مورد قبول نیست.
var name = "Mohammad reza Haji maghsoodi" ; var res = name.substring(9, 13) ; // output: reza
متد ()substr هم مشابه متد ()slice عمل میکنه با این تفاوت که در متد substr پارامتر دوم تعداد شماره ایندکسی است که باید از پارامتر اول شمرده شود. با یه مثال این مسئله جا میوفته.
var name = "Mohammad reza Haji maghsoodi" ; var res = name.substr(9, 4) ; // output: reza
در این مثال، از شماره ایندکس ۹ (پارامتر اول) به تعداد ۴ خونه به جلو حرکت میکنیم (پارامتر دوم) و انتخاب میکنیم.
دقت کنید که شمارش پارامتر دوم از اولین خونه حساب میشه، یعنی (R) هم حساب میشه
متد ()replace دوتا پارامتر ورودی داره، پارامتر اول اون رشته ای که باید از String انتخاب بشه نوشته میشه؛ پارامتر دوم رشته جایگزین رشته اول نوشته میشه.
توجه کنید که این متد در رشته اصلی تغیری ایجاد نمیکنه و در واقع یک رشته جدید میسازه.
name = "Best Way To Learn js" ; str = name.replace("js", "JavaScript"); // output: Best Way To Learn JavaScript
به صورت پیش فرض این متد اولین کلمه مطابق با رشته ما را انتخاب میکند و تغییر میدهد.
متد ()replace به بزرگی و کوچک بودن حروف حساس است.
متد toUpperCase همون طور که از اسمش معلومه تمام حروف یک رشته را Captal یا بزرگ میکند.
var txt = "Hello World!" // String var text = txt.toUpperCase(); // text is txt converted to upper // output: HELLO WORLD!
متد toLowerCase هم همون طور که از اسمش معلومه تمام حروف یک رشته را Small یا کوچک میکند.
var txt = "HELLO World!" // String var text = txt.toLowerCase(); // text is txt converted to Lower // output: hello world!
متد concat برای ترکیب کردن ۲ یا چند رشته با هم استفاده میشه.
var txt1 = "MEGA" var txt2 = "JS" var txt3 = txt1.concat(" ", txt2); // output: MEGA JS!
همچنین متد concat میتونه جایگزین عملگر (+) بشه. به مثال زیر توجه کنید:
var txt = "Mega" + " " + "JS!" output: Mega JS!
معادل عبارت بالا رو میتونیم به شکل زیر هم بنویسیم.
var txt = "Mega".concat(" ", "JS!"); output: Mega JS!
متد ()trim فضای خالی (Space) را از دو طرف رشته پاک میکند.
var txt = " Mega JS! " var trm = txt.trim()
متد ()split رشته را تبدیل به آرایه میکنه. و کاراکتری که داخل پرانتز قرار بگیره جدا کننده رشته و تبدیل اون به آرایس (Array). اگر نمیدونید آرایه یا Array چیه اصلا نگران نباشید، موضوع جلسه بعدی ” آرایه ” هست.
var txt = "a,b,c,d,e" // String txt.split(","); // Split on commas output: ["a", "b", "c", "d", "e"] // array
مثالی دیگر.
var txt = "a b c d e" // String txt.split(" "); // Split on spaces output: ["a", "b", "c", "d", "e"] // array
در دنیای برنامه نویسی که هر روز یک یا چند قدم از روز قبل جلوتر است یادگیری یک زبان برنامه نویسی که تمامی نیازهایمان را رفع کند بی شک بهترین انتخاب است. بی شک جاوااسکریپت قدرت نسل بعد این عرصه خواهد بود. وبسایت megajs اولین مرجع تخصصی جاوااسکریپت به زبان فارسی است. که از صفر تا فول استک جاوااسکریپت همراه شماست.