JS字串學習之怎麼返回給定下標間的子串

neuyu發表於2021-09-11
在上一篇文章《》中,我們介紹了使用indexOf()和lastIndexOf()函式結合while迴圈,獲取給定子串在字串中全部位置的方法。那麼今天將繼續給大家帶來JavaScript字串學習系列~

本文將給大家介紹一下JavaScript擷取字串,獲取指定位置間所有字元(即子串)的兩種方法。

首先我們來看看第一種方法--使用slice()

舉個例子~

var str="Hello world!"; 
var n=str.slice(1,7);
console.log("原字串:"+str);
console.log("擷取下標1~7之間的子串:"+n);

我們來看看輸出結果:

1.png

因為字串下標是從0開始的,所以使用str.slice(1,7)擷取下標1~7之間的字元,返回的子串是“ello w”。

我們來了解一下slice()函式

string.slice(start,end)方法可提取字串的某個部分,並以新的字串返回被提取的部分;該函式接受一個必需引數start和一個可省略的引數end。

  • start引數:表示起始下標;第一個字元位置為 0。如果為負數,則從尾部開始擷取。

  • end引數:表示結束下標。如果沒有指定該引數,那麼切分的陣列包含從 start 到陣列結束的所有元素;如果這個引數是負數,那麼它規定的是從陣列尾部開始算起的元素。

var str="Hello world!"; 
var n=str.slice(1,-7);
console.log("原字串:"+str);
console.log("擷取到的子串:"+n);

輸出結果:

2.png

接下來我們來看看第二種方法--使用substring() 方法

舉個例子~

var str="Hello world!"; 
var n=str.substring(1,7);
console.log("原字串:"+str);
console.log("擷取到的子串:"+n);

輸出結果:

3.png

substring()方法可以提取字串中介於兩個指定下標之間的字元。我們使用str.substring(1,7)擷取字串str下標1~7之間的字元,因此返回的子串是“ello w”。

我們來了解一下substring()函式。

string.substring(from, to)方法可接受一個必需引數from(非負的整數,指定開始下標),一個可省略的引數to(指定結束下標)。substring() 方法返回的子串包括 開始 處的字元,但不包括 結束 處的字元。

slice()和substring()的區別:

slice()和substring()都可根據指定的起止下標位置來擷取字串,都可以包含兩個引數,第一個參數列示起始下標,第二個參數列示結束下標。

但如果第一個引數值比第二個引數值大,substring() 方法能夠在執行擷取之前先交換兩個引數,而對於 slice() 方法來說,則被無視為無效,並返回空字串。

var str="Hello world!"; 
var n1=str.substring(7,1);
var n2=str.slice(7,1);
console.log("原字串:"+str);
console.log("擷取到的子串:"+n1);
console.log("擷取到的子串:"+n2);

輸出結果:

4.png

如果引數值為負值,slice() 方法能夠把負號解釋為從右側開始定位;而 substring() 方法會視其為無效。

var str="Hello world!"; 
var n1=str.substring(1,-7);
var n2=str.slice(1,-7);
console.log("原字串:"+str);
console.log("擷取到的子串:"+n1);
console.log("擷取到的子串:"+n2);

輸出結果:

5.png

好了,就說到這裡了,有需要的可以看:

以上就是JS字串學習之怎麼返回給定下標間的子串的詳細內容,更多請關注php中文網其它相關文章!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4550/viewspace-2827463/,如需轉載,請註明出處,否則將追究法律責任。

相關文章