متد رشته JavaScript
یادگیری JavaScriptروش های رشته به شما کمک می کند تا با رشته ها کار کنید.
متد رشته و خاصیت آن
مقادیر اولیه، مانند “John Doe"، نمیتواند دارای خواص یا روش باشد (زیرا آنها اشیا نیستند).
اما با جاوا اسکریپت، روش ها و خواص نیز برای مقادیر ابتدایی در دسترس هستند، زیرا جاوااسکریپت، هنگام اجرای روش ها و خواص، به مقادیر ابتدایی به عنوان اشیا رفتار می کند.
طول رشته
ویژگی رشته طول رشته را برمیگرداند.
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;
مشاهده مثالیافتن یک رشته در یک رشته
روش indexOf () شاخص (موقعیت) اولین رخداد یک متن مشخص شده در یک رشته را نشان می دهد:
var str = "Please locate where 'locate' occurs!";
var pos = str.indexOf("locate");
مشاهده مثالروش lastIndexOf () شاخص آخرین رخداد یک متن مشخص در یک رشته را نشان می دهد:
var str = "Please locate where 'locate' occurs!";
var pos = str.lastIndexOf("locate");
مشاهده مثالدر هر دو روش indexOf () و lastIndexOf ()اگر متن پیدا نشد مقدار -1 را برمیگرداند
نکته: درجاوا اسکریپت محاسبه موقعیت از صفر است.
0 اولین موقعیت در رشته است، 1 دوم است، 2 سوم است ...
هر دو روش پارامتر دوم را به عنوان موقعیت شروع جستجو می پذیرد:
var str = "Please locate where 'locate' occurs!";
var pos = str.indexOf("locate",15);
مشاهده مثالجستجو یک رشته در رشته
روش search () یک رشته را برای یک مقدار مشخص جستجو می کند و موقعیت را برمی گرداند:
var str = "Please locate where 'locate' occurs!";
var pos = str.search("locate");
مشاهده مثالآیا توجه کردید؟
دو روش، indexOf () و search () برابر است؟
آنها همان استدلال (پارامترها) را قبول می کنند و همان مقدار را باز می گردانند؟
البته دو روش برابر نیستند. این تفاوت ها هستند:
- روش search () نمیتواند آرگومان موقعیت دوم را آغاز کند.
- روش indexOf () نمیتواند مقادیر جستجوی قدرتمند (عبارات منظم) را بیاورد.
شما در مورد بعضی از عبارات منظم در فصل بعد بیشتر بدانید.
استخراج قطعات رشته
3 روش برای استخراج بخشی از یک رشته وجود دارد:
- قطعه (شروع، پایان)
- زیر رشته (شروع، پایان)
- زیر (شروع، طول)
متد slice()
slice() بخشی از یک رشته را استخراج می کند و بخش استخراج شده را در یک رشته جدید باز می گرداند.
این روش دو پارامتر را به دست می دهد: شاخص شروع (موقعیت) و شاخص پایانی (موقعیت).
این مثال یک بخش از رشته را از موقعیت 7 به موقعیت 13 بریده است:
var str = "Apple, Banana, Kiwi";
var res = str.slice(7, 13);
مشاهده مثالاگر یک پارامتر منفی باشد، موقعیت از انتهای رشته شمارش می شود.
این مثال یک بخش از رشته را از موقعیت -12 به موقعیت -6 بریده است
var str = "Apple, Banana, Kiwi";
var res = str.slice(-12, -6);
مشاهده مثالاگر پارامتر دوم را حذف کنید، روش دیگر بقیه رشته را برش می دهد:
var res = str.slice(7);
مشاهده مثالیا از انتهای شمارش می شود.
var res = str.slice(-12);
مشاهده مثالنکته: موقعیت های منفی در Internet Explorer 8 و قبل از آن کار نمی کنند.
متد substring()
substring()شبیه به slice().است.
تفاوت این است که substring () نمیتواند شاخصهای منفی را بپذیرد.
var str = "Apple, Banana, Kiwi";
var res = str.substring(7, 13);
مشاهده مثالاگر پارامتر دوم را حذف کنید، substring () بقیه رشته را برش می دهد.
متد substr()
substr () شبیه به slice()است.
تفاوت این است که پارامتر دوم طول بخش استخراج را مشخص می کند.
var str = "Apple, Banana, Kiwi";
var res = str.substr(7, 6);
مشاهده مثالاگر پارامتر اول منفی باشد، موقعیت از انتهای رشته شمارش می شود.
پارامتر دوم نمی تواند منفی باشد، زیرا طول آن را تعریف می کند.
اگر پارامتر دوم را حذف کنید، substr () از بقیه رشته خارج می شود.
جایگزینی محتوای رشته
روش replace() یک مقدار مشخص شده را با یک مقدار دیگر در یک رشته جایگزین می کند:
str = "Please visit Microsoft!";
var n = str.replace("Microsoft", "W3Schools");
مشاهده مثالنکته: متد replace () رشته ای را که در آن نامیده می شود تغییر نمی دهد. یک رشته جدید باز می شود.
به طور پیش فرض، تابع replace () فقط اولین کلمه را جایگزین می کند:
str = "Please visit Microsoft and Microsoft!";
var n = str.replace("Microsoft", "W3Schools");
مشاهده مثالبه طور پیش فرض، تابع replace () حساس به حروف بزرگ می باشد
str = "Please visit Microsoft!";
var n = str.replace("MICROSOFT", "W3Schools");
مشاهده مثالبرای جایگزینی حساس به علامت، یک علامت منظم با /i (غیر حساس) استفاده کنید:
str = "Please visit Microsoft!";
var n = str.replace(/MICROSOFT/i, "W3Schools");
مشاهده مثالنکته: توجه داشته باشید که عبارات منظم بدون نقل قول نوشته شده اند.
برای جایگزینی تمام کلمات، از یک عبارت منظم با یک / g () استفاده کنید:
str = "Please visit Microsoft and Microsoft!";
var n = str.replace(/Microsoft/g, "W3Schools");
مشاهده مثالتبدیل به حروف کوچک و بزرگ
نبدیل به حروف بزرگ با toUpperCase():
var text1 = "Hello World!"; // String
var text2 = text1.toUpperCase(); // text2 is text1 converted to upper
مشاهده مثالتبدیل به حروف کوچک
var text1 = "Hello World!"; // String
var text2 = text1.toLowerCase(); // text2 is text1 converted to lower
مشاهده مثالمتد concat()
concat () به دو یا چند رشته تقسیم می شود:
var text1 = "Hello";
var text2 = "World";
var text3 = text1.concat(" ", text2);
مشاهده مثالروش concat () می تواند به جای اپراتور plus استفاده شود. این دو خط همانند هستند:
تمام روشهای رشته یک رشته جدید را بازمی گرداند. آنها رشته اصلی را اصلاح نمی کنند.
به صورت رسمی باید گفت: رشته ها غیر قابل تغییر هستند: رشته ها را نمی توان تغییر داد، فقط جایگزین شد.
استخراج کاراکترهای رشته
2 روش امن برای استخراج کاراکترهای رشته وجود دارد:
charAt (موقعیت)
charCodeAt (موقعیت)
روش charAt ()
روش charAt () کاراکتر را در یک شاخص مشخص (موقعیت) در یک رشته باز می کند:
var str = "HELLO WORLD";
str.charAt(0); // returns H
مشاهده مثالروش charCodeAt ()
روش charCodeAt () یونیکد کاراکتر را در یک رشته مشخص در یک رشته باز می کند:
var str = "HELLO WORLD";
str.charCodeAt(0); // returns 72
مشاهده مثالدسترسی به یک رشته به عنوان یک آرایه بی ثبات است
شما ممکن است کد مانند این را دیده باشید، دسترسی به یک رشته به عنوان یک آرایه:
این ناامن و غیر قابل پیش بینی است:
- این کار در تمام مرورگرها کار نمی کند (نه در IE5، IE6، IE7)
- این باعث می شود رشته ها مانند آرایه ها باشد
- str [0] = "H" خطا نمی دهد (اما کار نمی کند)
اگر می خواهید یک رشته را به عنوان یک آرایه بخوانید، ابتدا آن را به آرایه تبدیل کنید.
تبدیل یک رشته به آرایه
یک رشته را می توان با روش split () به یک آرایه تبدیل کرد:
var txt = "a,b,c,d,e"; // String
txt.split(","); // Split on commas
txt.split(" "); // Split on spaces
txt.split("|"); // Split on pipe
مشاهده مثالاگر جداکننده حذف شود، آرایه بازگشتی شامل کل رشته در index [0] خواهد بود.
اگر جداساز "" باشد، آرایه بازگشتی آرایه ای از کاراکترهای تک هسته ای خواهد بود:
var txt = "Hello"; // String
txt.split(""); // Split in characters
مشاهده مثال
نظر شما
>