1. 程式人生 > >截取字符串substring與substr之間的區別

截取字符串substring與substr之間的區別

全部 子串 取字符串 長度 計算 rom 得到 div start

String.substring( ):用於返回一個字符串的子串
用法如下:string.substring(from, to)
其中from指代要抽去的子串第一個字符在原字符串中的位置
to指代所要抽去的子字符串最後一個字符的後一位(這個參數可以不加)

下面就對String.substring( )做舉例

1、string.substring(from):此時相當於從from位置截取到原字符串末尾

1 var s = "hello";
2 s.substring(1);//就是從下標為1的字符(這裏是‘e‘)開始起到字符串末尾全部截取,最終獲得子串"ello"

2、string.substring(from, to):

從from位置截取到to-1的位置

1 var s = "hello";
2 s.substring(1,3);//相當於從位置為1的字符截取到位置為2的字符,得到子串為:"el"

String.substr( ):作用也是抽去一個子串,但是它和上面的String.substring( )有所不同
用法如下:string.substr(start, length)
start:指代截取子串開始下標
length:截取子串的長度(可省略)
1、string.substr(start, length):先舉個例子來說明:

1 var s = "hello";
2 s.substr(1,3);//從下標為1的字符開始截取3個字符長度,最後子串為:ell

補充兩種特殊情況:
a、第二個參數超過了剩余字符長度

1 var s = "hello";
2 s.substr(1,7)//這種情況下默認從,start位置到原字符串末尾,即返回:"ello"

b、第一個參數為負數
這種情況,從字符串尾部開始計算,-1指字符串最後一個字符,-2指倒數第二個字符...依次類推

1 var s = "hello";
2 s.substr(-3,2)//即從倒數第三個字符開始起截取2個長度,獲得:"ll"

2、string.substr(start):不帶length參數,默認指代從start位置截取到字符串末尾

1 var s = "hello";
2 s.substr(3)//
"lo"

截取字符串substring與substr之間的區別