一、基本介紹
在JavaScript中,字符串是常見數據類型之一,而在我們操作字符串時,常常需要截取其中一部分。這時,str.substring()
方法就派上了用場。該方法用於獲取字符串中指定下標之間的字符。
/** * 語法:str.substring(startIndex, endIndex) * 參數: * startIndex:開始下標,必需。代表截取字符串的起始下標(包括該下標的字符) * endIndex:結束下標,可選。代表截取字符串的結束下標(不包括該下標的字符),若不傳遞該參數,則截取到字符串末尾。 * 返回值:字符串。代表從該字符串中的startIndex到endIndex範圍內的子字符串。 */
二、示例演示
我們通過幾個具體的示例演示一下str.substring()
方法的使用:
1、截取指定下標到末尾的字符串
let str = "Hello world!"; console.log(str.substring(3)); // 輸出結果:lo world!
上面代碼中,startIndex為3,所以獲取的字符串從字符「l」開始。因為沒有傳遞結束下標,所以獲取的字符一直到字符串末尾。
2、截取指定下標範圍的字符串
let str = "Hello world!"; console.log(str.substring(3, 8)); // 輸出結果:lo wo
上面代碼中,startIndex為3,代表從第4個字符(含)開始。endIndex為8,代表截止到第9個字符(不含)。
3、截取從後往前數指定下標範圍的字符串
let str = "Hello world!"; console.log(str.substring(-5, -1)); // 輸出結果:orld
上面代碼中,若下標為負數,則從字符串末尾開始往前數,如:startIndex=-5
表示從倒數第5個字符(含)開始,endIndex=-1
表示截止到倒數第2個字符(不含)。
4、startIndex與endIndex互換
let str = "Hello world!"; console.log(str.substring(8, 3)); // 輸出結果:lo wo
上面代碼中,雖然startIndex的值大於endIndex,但方法仍然可以正確執行,因為該方法會自動將startIndex和endIndex的值互換。
三、注意事項
str.substring()
方法也有一些需要注意的地方:
1、參數類型必須為數字
無論是startIndex還是endIndex,其參數類型必須為數字。如果傳入的是非數字類型的參數,該方法會自動將其轉化為數字類型。
2、endIndex可選
如果不傳入endIndex參數,則該方法會默認截取到字符串的最後一個字符(等同於調用str.substring(startIndex, str.length)
)。
3、生成新的字符串
無論startIndex和endIndex之間的字符有沒有被修改,該方法都會返回一個新的字符串。原有的字符串不會被修改。
4、字符串下標越界
如果傳入的startIndex或endIndex超出字符串長度,該方法仍然可以執行,但會自動將超出邊界的下標修正為字符串邊界。
四、總結
str.substring()
方法在JavaScript的字符串處理中使用頻率較高。當我們需要截取字符串的一部分時,可以通過該方法在startIndex和endIndex之間獲取所需的字符。
在使用該方法時,需要注意參數類型必須為數字、endIndex可選、生成新的字符串、以及字符串下標越界等細節問題。
原創文章,作者:JJXDT,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/369282.html