字串切片和子字串方法之間的區別
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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

Python和JavaScript開發者的薪資沒有絕對的高低,具體取決於技能和行業需求。 1.Python在數據科學和機器學習領域可能薪資更高。 2.JavaScript在前端和全棧開發中需求大,薪資也可觀。 3.影響因素包括經驗、地理位置、公司規模和特定技能。

如何在JavaScript中將具有相同ID的數組元素合併到一個對像中?在處理數據時,我們常常會遇到需要將具有相同ID�...

學習JavaScript不難,但有挑戰。 1)理解基礎概念如變量、數據類型、函數等。 2)掌握異步編程,通過事件循環實現。 3)使用DOM操作和Promise處理異步請求。 4)避免常見錯誤,使用調試技巧。 5)優化性能,遵循最佳實踐。

實現視差滾動和元素動畫效果的探討本文將探討如何實現類似資生堂官網(https://www.shiseido.co.jp/sb/wonderland/)中�...

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

深入探討console.log輸出差異的根源本文將分析一段代碼中console.log函數輸出結果的差異,並解釋其背後的原因。 �...
