JavaScript substr()

admin發表於2018-08-28

此方法的用法和substring方法極其相似,甚至可以說功能完全相同。

關於substring方法的用法可以參閱JavaScript substring()一章節。

關於兩個方法之間的區別,會在後面的程式碼例項中逐步介紹。

更多字串內容可以參閱JavaScript String 字串一章節。

一.基本概念:

此方法能夠在指定字串中擷取指定長度的子字串。

特別說明:

(1).此方法不符合W3C標準,不推薦使用,但是當前所有瀏覽器都支援此方法。

(2).字元在字串中的索引位置是從0開始計算的。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
str.substr(start,length)

引數解析:

(1).start:必需,擷取字串開始位置。

(2).length:可選,擷取字串的長度,如果省略,那麼將擷取從start開始到結尾的所有字串。

程式碼例項:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let str = "antzone";
console.log(str.substr(2, 3));

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/28/012431y2lr2lgwcoelo2r5.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

規定從索引2處開始擷取,擷取的長度是3。

由此可以看出它和substring方法的一個區別:

substr方法第二個引數規定擷取的長度,而substring方法第二個引數規定停止擷取的位置。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let str = "antzone";
console.log(str.substr(2));

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/28/012520obx4711qvx14dxzn.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

如果省略第二個引數,那麼將擷取從第三個字元開始的以後所有字元。

這一點與substring方法完全相同。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let str = "antzone";
console.log(str.substr(-2, 1));

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/28/012606wct3wcc3o3bu33jt.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

如果引數是負數,那麼將會從尾部開始計數,索引為0指的是第一個字元,那麼-1即是最後一個字元,以此類推。

那麼上述程式碼將會擷取從倒數第二個字元開始長度為1的子字串。

特別注意:在低版本IE瀏覽器中如果第一個引數為負數,那麼總是從字串的第一個字元開始擷取,其他標準瀏覽器下則從字串的尾部計算起始位置。輸出結果:IE下是"a",火狐或者谷歌等瀏覽器則為"n"。

相關文章