首頁 >web前端 >js教程 >字串切片和子字串方法之間的區別

字串切片和子字串方法之間的區別

PHPz
PHPz轉載
2023-09-03 18:21:11905瀏覽

字串切片和子字串方法之間的區別

JavaScript是一種動態且最受歡迎的程式語言,可以在客戶端和伺服器端使用。 JavaScript 用於建立互動式網頁。它有很多框架,如React JS、Angular JS、Node JS等,

JavaScript 包含許多內建函數來執行各種任務。有一些函數用於操作字串。 Str.slice 和 str.substring 是兩個可以操作字串的 inbuit 函數。雖然這兩個函數的功能幾乎相似,但它們之間還是有一些差異

String.slice()方法

此方法根據指定的索引傳回字串的一部分。 slice 方法的語法如下 -

string.slice (start, end)

此方法有兩個參數,即start和end。 Start 指定應從其開始的索引,end index 告訴要傳回的字串的最後一個索引。返回字串時不包括結束索引。結束是沒有必要的。如果未指定 end,則傳回從指定的起始索引開始的整個字串。這裡,索引從“0”開始。

String.substring()方法

此方法也與切片方法類似,傳回字串的一部分作為新字串。方法的語法如下 -

string.substring (start, end)

這裡,start 和 end 是兩個參數,表示應傳回字串的索引。如果未指定結束索引,則傳回從指定開始索引開始的整個字串。返回字串時不包括結束索引。索引從“0”開始。

考慮字串長度為 12 的字串「Good Morning」。讓我們透過以下範例來了解這些方法的功能 -

const greeting = 'Good Morning'

案例1

如果起始索引是正數,則兩種方法給予相同的輸出。

greeting.slice (5)  		//  'Morning'
greeting.substring (5)  	// 'Morning'

這裡,index取為5,因此傳回從主字串的第5個位置開始的字串。

案例2

如果給定的索引為負數,這兩種方法會給出不同的輸出,如下所示。

greeting.slice (-7)  // 'Morning'
greeting.substring (-7)  // 'Good Morning'

在 slice 方法中,當給予負索引時,它會從字串末尾開始計數,並傳回從該索引位置開始的字串。在子字串中,任何負數都被視為零。因此它從 0 索引開始並返回整個字串。

案例3

當傳遞字串長度時,這兩種方法都會傳回空字串。

greeting.slice (12)  // ''
greeting.substring (12)  // ''

案例4

開始索引大於結束索引

greeting.slice (9, 5)  // ''
greeting.substring (9, 5)  // 'Morn'

Slice 方法傳回一個空字串,而 substring 方法交換這些索引並傳回字串。不包括結束索引。

案例5

當開始和結束索引均為負數時

greeting.slice (-12, -8)  // 'Good'
greeting.substring (-12, -8)  // ''

Slice 方法從字串末尾開始計數到指定的索引並傳回它。由於兩個索引都是負數,並且子字串方法將它們視為零,因此它從零開始並以零結束。因此,傳回一個空字串。

案例6

當起始索引為負且結束索引為正時

greeting.slice (-3, 5)  // ''
greeting.substring (-3, 5)  // 'Good'

這裡,由於結束索引出現在開始索引之前,因此 slice 方法傳回一個空字串。但子字串方法將負索引視為零,並從 0 索引開始到排除它的第 5 個索引。因此,它返回“Good”。

案例7

當開始索引為正但結束索引為負時

greeting.slice (5, -3)  // 'Morn'
greeting.substring (5, -3)  // 'Good'

Slice 方法傳回「Morn」作為輸出,子字串方法傳回「Good」。 Substring 方法將結束索引視為零,由於開始索引 (5) 大於結束索引 (0),因此它只需交換它們的位置 (0,5) 並傳回字串。

切片與子字串方法

下表突顯了切片方法和子字串方法之間的重要差異 -

切片方法

子字串法

#它傳回字串的一部份

#也用來提取字串的一部分

它允許負索引並從後面返回字串計數

如果給出負索引,則將其視為 0(零)索引位置。

如果起始索引大於結束索引,則傳回空字串

#如果起始索引大於結束索引,它只是交換它們的位置並根據該結果傳回字串

#結論

String.slice 和 string.substring 方法用於字串的運算。根據參數和某些情況,它們都是相似的。它們的第一個主要區別是它們的索引為負值,如上面的範例所示。第二個是當開始索引大於結束索引時。

以上是字串切片和子字串方法之間的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除