JS字串學習之將字串分割成子串並傳給陣列

2021-08-25 16:00:34
在之前的文章《》中,我們介紹了統一字串的大小寫的兩種方法,有需要的朋友可以學習瞭解一下~

而本文的主要內容是「分割字串,變成多個更小的子串,並將這些子串傳給陣列,作為陣列元素」;簡單來說就是「字串轉為陣列」。

那麼這樣怎麼操作呢?我們可以使用JavaScript內建的函數split()

string.split(separator,limit)用於把一個字串分割成字串陣列;接受兩個可省略的引數separator(分割符或正規表示式,指定分割位置)和limit(指定返回的陣列的最大長度)

可省略的引數separator有多種取值情況,不同的情況返回的陣列也不一樣:

1、split()方法不接受引數:

var str="How are you doing today?";
var arr=str.split();
console.log(arr);

當引數為空時,則該方法會把整個字串作為一個元素的陣列返回(此時陣列長度為1)。因此輸出結果為:

1.png

2、split()方法的separator引數為空字串

var str="How are you doing today?";
var arr=str.split('');
console.log(arr);

當separator引數為空字串時,那麼該方法會按照單個字元進行分割,每個字元之間都會被分割,則會返回一個包含所有單個字元的字元陣列(此時陣列長度為字串的長度)。因此輸出結果為:

2.png

3、split()方法的separator引數為空格' '

var str="How are you doing today?";
var arr=str.split(' ');
console.log(arr);

當separator引數為空格時,那麼該方法會按照空格來進行分割,將字串中的每個單詞都分割出來作為陣列元素。因此輸出結果為:

3.png

4、split()方法的separator引數為正規表示式

var str= "a2b3c4d5e678f12g";
var arr=str.split(/\d+/);  //把以匹配的數位為分隔符來切分字串
console.log(arr);

當separator引數為正規表示式,則該方法能夠以匹配文字作為分隔符進行切分。例如上例中就是匹配0~9的數位,將數位作為分割符,因此輸出結果為:

5.png

  • 如果正規表示式匹配的文字位於字串的邊沿,則 split() 方法也執行切分操作,且為陣列新增一個空陣列。

var str= "122a2b3c4d5e678f12g456";
var arr=str.split(/\d+/);  //把以匹配的數位為分隔符來切分字串
console.log(arr);

6.png

  • 如果在字串中指定的分隔符沒有找到,則返回一個包含整個字串的陣列。

var str= "abcdefg";
var arr=str.split(/\d+/);  //把以匹配的數位為分隔符來切分字串
console.log(arr);

7.png

指定包含的子串數目

如果分割的子串太多,只是想要獲取前幾個子串,那麼可以第二個引數limit

第二個引數limit可指定返回陣列的最大長度,即可設定包含的子串數目。如果設定了該引數,則返回的陣列長度不會大於這個引數指定的值:

var str="How are you doing today?";
var arr=str.split(' ',3);
console.log(arr);

4.png

引數limit不接受負值,如果設定了負值,則該值會被會略掉。

var str="How are you doing today?";
var arr=str.split(' ',-3);
console.log(arr);

8.png

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

以上就是JS字串學習之將字串分割成子串並傳給陣列的詳細內容,更多請關注TW511.COM其它相關文章!