在先前的文章《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)。因此輸出結果為:
2、split()方法的separator參數為空字串
var str="How are you doing today?"; var arr=str.split(''); console.log(arr);
當separator參數為空字串時,那麼該方法會依照單一字元進行分割,每個字元之間都會被分割,則會傳回包含所有單一字元的字元陣列(此時陣列長度為字串的長度)。因此輸出結果為:
3、split()方法的separator參數為空格' '
var str="How are you doing today?"; var arr=str.split(' '); console.log(arr);
當separator參數為空格時,那麼該方法會依照空格來進行分割,並將字串中的每個單字分割出來作為陣列元素。因此輸出結果為:
var str= "a2b3c4d5e678f12g"; var arr=str.split(/\d+/); //把以匹配的数字为分隔符来切分字符串 console.log(arr);
當separator參數為正規表示式,則該方法能夠以匹配文字作為分隔符號進行切分。例如上例中就是符合0~9的數字,將數字當作分割符,因此輸出結果為:
#如果正規表示式符合的文字位於字串的邊緣,則 split() 方法也執行切分操作,並且為陣列新增一個空數組。
var str= "122a2b3c4d5e678f12g456"; var arr=str.split(/\d+/); //把以匹配的数字为分隔符来切分字符串 console.log(arr);
如果在字串中指定的分隔符號沒有找到,則傳回一個包含整個字串的陣列。
var str= "abcdefg"; var arr=str.split(/\d+/); //把以匹配的数字为分隔符来切分字符串 console.log(arr);###如果分割的子字串太多,只是想要取得前幾個子字串,那麼可以第二個參數###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中文網其他相關文章!