一、基本介紹
在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-tw/n/369282.html