在開始之前,先回顧下js中下標(數組元素/字串中字元下標):
下標總是從0開始計數,例如
var arr = [1,2,3];//陣列的長度為3,元素下標依序為:0,1,2
arr[0] = 1,arr[1]=2..
字串類似:如var s = "hello";//字串長度為5,第一個字元'h'的下標為0,依次類別推
String.substring( ):用來傳回一個字串的子字串
用法如下:string.substring(from, to)
其中from指涉要抽去的子字串第一個字元在原字串中的位置
to指涉所要抽去的子字串最後一個字元的後一位(這個參數可以不加)
下面就對String.substring( )做舉例:
1、string.substring(from):此時相當於從from位置截取到原字串結尾
var s = "hello"; s.substring(1);//就是从下标为1的字符(这里是'e')开始起到字符串末尾全部截取,最终获得子串"ello"
2、string.substring(from, to):從from位置截取到to-1的位置
var s = "hello"; s.substring(1,3);//相当于从位置为1的字符截取到位置为2的字符,得到子串为:"el"
String.substr( ):作用也是抽去子字串,但是它和上面的String.substring( )不同
用法如下:string.substr(start, length)
start:指稱截取子字串開始下標
length:截取子字串的長度(可省略)
1、string.substr(start, length):先舉例來說明:
var s = "hello"; s.substr(1,3);//从下标为1的字符开始截取3个字符长度,最后子串为:ell
補充兩種特殊情況:
a、第二個參數超過了剩餘字元長度
var s = "hello"; s.substr(1,7)//这种情况下默认从,start位置到原字符串末尾,即返回:"ello"
b、第一個參數為負數
這種情況,從字串尾部開始計算,-1指字串最後一個字符,-2指倒數第二個字符...依次類推
var s = "hello"; s.substr(-3,2)//即从倒数第三个字符开始起截取2个长度,获得:"ll"
2、string.substr(start):不帶length參數,預設指從start位置截取到字串結束
var s = "hello"; s.substr(3)//"lo"
以上就是關於js中substring和substr區別與用法的詳細介紹,大家可以結合之前的相關文章進行學習,希望對大家的學習有所幫助。