توضیح:
این تابع مانند تابع slice است و براساس دو پارامتر شروع و انتها از رشته موردنظر را برش و در قالب یک رشته جدید برگشت میدهد.
موقعیت کاراکتر نخست عدد ۰ است. موقعیت پارامتر end در رشته خروجی جدید در نظر گرفته نمیشود.
تفاوت این متد با متد slice در این است که در صورتی که پارامتر منفی وارد شود آن را عدد ۰ تلقی میکند.
در صورتی که پارامتر نخست بزرگتر از پارامتر انتهایی باشد جای آنها باهم عوض می شوند. برای مثال (۴,۱) تبدیل به (۱,۴) میشود.
شباهت های متدهای slice,substring,substr
- هر سه برای برش رشته جدید هستند.
- تابع slice و substr هر دو می توانند پارامتر منفی داشته باشند.
- تابع slice و substring دارای پارامتر start و end هستند.
تفاوت های متدهای slice,substring,substr
- تابع substring مانند slice دارای پارامتر شبیه بهم هستند اما substring پارامترش نمیتواند منفی باشد.
- تابع substr با اینکه پارامترش می تواند منفی باشد اما پارامتر دومش طول رشته است.
نحوه نوشتن:
1 |
String.substring(start, end); |
پارامترها:
- مقدار start: موقعیت شروع برش رشته. موقعیت کاراکتر نخست عدد ۰ است.(ضروری)
- مقدار end: موقعیت انتهایی برش رشته. آخرین کاراکتر در خروجی در نظر گرفته نمیشود. در صورتی که در نظر گرفته نشود تا انتهای رشته را برگشت میدهد.(اختیاری)
مقدار بازگشت:
رشته جدید
وضعیت پشتیبانی از مرورگرها:
مرورگر Chrome | مرورگر Firefox | مرورگر Edge | مرورگر Safari | مرورگر Opera |
---|---|---|---|---|
همه نسخه ها | همه نسخه ها | همه نسخه ها | همه نسخه ها | همه نسخه ها |
مثال:
1 2 3 |
let str = "Hello world!"; document.getElementById("demo").innerHTML = str.substring(1, 4); //ell |
1 2 3 |
let str = "Hello world!"; document.getElementById("demo").innerHTML = str.substring(2); //llo world! |
1 2 3 |
let str = "Hello world!"; document.getElementById("demo").innerHTML = str.substring(4, 1); //ell |
1 2 3 |
let str = "Hello world!"; document.getElementById("demo").innerHTML = str.substring(-3); //Hello world! |
1 2 3 |
let str = "Hello world!"; document.getElementById("demo").innerHTML = str.substring(0, 1); //H |
1 2 3 |
let str = "Hello world!"; document.getElementById("demo").innerHTML = str.substring(str.length - 1); //! |