1. 程式人生 > >擷取字串substring與substr

擷取字串substring與substr

擷取字串substring與substr

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"