首頁 >web前端 >js教程 >JS字串學習之將字串分割成子字串並傳給陣列

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

青灯夜游
青灯夜游原創
2021-08-25 15:53:064594瀏覽

在先前的文章《JS字串學習之怎麼統一所有字元的大小寫》中,我們介紹了統一字串的大小寫的兩種方法,有需要的朋友可以學習了解一下~

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

那麼這樣怎麼操作呢?我們可以使用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)。因此輸出結果為:

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

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

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

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

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

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

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

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

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

當separator參數為空格時,那麼該方法會依照空格來進行分割,並將字串中的每個單字分割出來作為陣列元素。因此輸出結果為:JS字串學習之將字串分割成子字串並傳給陣列

  • 4、split()方法的separator參數為正規表示式
var str= "a2b3c4d5e678f12g";
var arr=str.split(/\d+/);  //把以匹配的数字为分隔符来切分字符串
console.log(arr);

當separator參數為正規表示式,則該方法能夠以匹配文字作為分隔符號進行切分。例如上例中就是符合0~9的數字,將數字當作分割符,因此輸出結果為:JS字串學習之將字串分割成子字串並傳給陣列

#如果正規表示式符合的文字位於字串的邊緣,則 split() 方法也執行切分操作,並且為陣列新增一個空數組。

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

JS字串學習之將字串分割成子字串並傳給陣列如果在字串中指定的分隔符號沒有找到,則傳回一個包含整個字串的陣列。

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

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

指定包含的子字串數目

###如果分割的子字串太多,只是想要取得前幾個子字串,那麼可以第二個參數###limit###。 ######第二個參數###limit###可指定傳回陣列的最大長度,即可設定包含的子字串數目。如果設定了該參數,則傳回的陣列長度不會大於這個參數指定的值:###
var str="How are you doing today?";
var arr=str.split(' ',3);
console.log(arr);
#############參數limit不接受負值,如果設定了負值,則該值會被會略掉。 ###
var str="How are you doing today?";
var arr=str.split(' ',-3);
console.log(arr);
############好了,就說到這裡了,有需要的可以看:###javascript影片教學######

以上是JS字串學習之將字串分割成子字串並傳給陣列的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn