JavaScript 字串slice()

admin發表於2018-08-27

slice方法可以擷取,並返回原字串中的一段子字串。

特別說明:此方法不直接操作原字串,也就是原字串保持不變。

JavaScript中,很多物件具有同名方法,不但字串具有slice方法,陣列也具有。

陣列slice方法內容可以參閱JavaScript 陣列slice方法一章節。

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

語法結構:

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

引數解析:

(1).start:必需,規定開始擷取字串的位置,與陣列類似,第一個字元的位置為0,以此類推。

(2).end:可選,規定在何處結束擷取字串,此位置字元不在擷取範圍。

瀏覽器支援:

(1).IE瀏覽器支援此方法。

(2).edge瀏覽器支援此方法。

(2).火狐瀏覽器支援此方法。

(3).谷歌瀏覽器支援此方法。

(4).opera瀏覽器支援此方法。

(5).safria瀏覽器支援此方法。

程式碼例項:

[JavaScript] 純文字檢視 複製程式碼
let str="螞蟻部落歡迎您,softwhy.com";
console.log(str.slice(2,5));

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

a:3:{s:3:\"pic\";s:43:\"portal/201808/27/005807lp4is4lw2pdfxhm2.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

字串字元的位置和陣列元素的計算方式一樣的,第一個元素位置是0,第二個是1,以此類推。

那麼就是擷取位置2(部)與位置為5(迎)之間的子字串,但是不包括位置5處的字元。

[JavaScript] 純文字檢視 複製程式碼
let str="螞蟻部落歡迎您,softwhy.com";
console.log(str.slice(2));

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

a:3:{s:3:\"pic\";s:43:\"portal/201808/27/005845rrsrz553d52fas5e.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

如果第二個引數省略,那麼將擷取從位置2到字串結尾的所有字元。

[JavaScript] 純文字檢視 複製程式碼
let str="螞蟻部落歡迎您,softwhy.com";
console.log(str.slice(2));
console.log(str);

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

a:3:{s:3:\"pic\";s:43:\"portal/201808/27/005926fzmcsrmhgcnn27nm.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

有上圖可見,此方法並不直接操作原字串,操作的是字串副本。

a:3:{s:3:\"pic\";s:43:\"portal/201808/27/005945xxn66tygdgewwyjj.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

第一個引數是負數,也很容易理解,0位置是字串中的第一個字元,那麼-1位置就是倒數第一個字元,-2位置就是倒數第二個字元。-18位置字元是"螞",5位置字元是"迎",那麼上面程式碼就是擷取"螞"與"迎"之間的子字串。

[JavaScript] 純文字檢視 複製程式碼
let str="螞蟻部落歡迎您,softwhy.com";
console.log(str.slice(-1,5));

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

a:3:{s:3:\"pic\";s:43:\"portal/201808/27/010023x7p1ct00y0vc2cz9.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

沒有擷取到東西,因為是從左到右擷取的,最後一個字元後面已經沒有東西了。

相關文章