JavaScript 字串 slice()

admin發表於2018-08-27

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;}

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

相關文章