1. 程式人生 > >用來獲取子串的兩個函式substr和substring用法比較

用來獲取子串的兩個函式substr和substring用法比較

substr函式和substring函式都是用來從某個“母字串”中提取“子字串”的函式。但用法有些差別,下面分別介紹。

substr函式

功能:從“母字串”的“指定位置”開始提取“指定長度”的“子字串”。

使用方法:字串資料.substr(start [,length])

start是必選項。指明要提取的“子字串”的起始位置。字串中的第一個字元的索引為 0。

length是可選項。指明要提取的“子字串”中應包括的字元個數。如果 length 為 0 或負數,將返回一個空字串。如果沒有指定該引數,則子字串將延續到“母字串”的最後。

下面的示例演示了substr函式的用法。

母串 = "上海自來水來自海上"; 
子串1 = 母串.substr(2,4);   //從編號為2的字元開始,提取4個長度的子字串。 返回值: "自來水來"
子串2 = 母串.substr(2);   //從編號為2的字元開始,到最後一個字元的子字串。 返回值: "自來水來自海上"

substring函式

功能:從“母字串”中提取從“起始位置”到“結束位置”的“子字串”。

使用方法:字串資料.substring(start,end)

start引數指明子字串中“第一個字元”的位置。

end引數指明子字串中“最後一個字元”的“後面一個字元”的位置。

substring函式返回一個從 "start位置" 開始 到 "end-1位置" 結束(不包含 "end位置"的字元 )的子字串。

substring函式使用 start 和 end 兩者中的較小值作為子字串的起始點。例如,字串資料.substring(0,3) 和 字串資料.substring(3,0) 將返回相同的子字串。

如果 start 或 end 為 NaN 或者負數,那麼將其替換為0。

子字串的長度等於 start 和 end 之差的絕對值。例如,字串資料.substring(0,3) 和 字串資料.substring(3,0) 返回的子字串的的長度是 3。

下面的示例演示了substring函式的用法。

母串 = "上海自來水來自海上";
子串 = 母串.substring(2,4);   //從“編號為2”的字元開始,到“編號為(4-1)”的字元結束的子字串。返回值: "自來"