您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“JS如何將字符串分割成子串并傳給數(shù)組”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“JS如何將字符串分割成子串并傳給數(shù)組”吧!
本文的主要內(nèi)容是“分割字符串,變成多個更小的子串,并將這些子串傳給數(shù)組,作為數(shù)組元素”;簡單來說就是“字符串轉(zhuǎn)為數(shù)組”。
那么這樣怎么操作呢?我們可以使用JavaScript內(nèi)置的函數(shù)split()
。
string.split(separator,limit)
用于把一個字符串分割成字符串數(shù)組;接受兩個可省略的參數(shù)separator
(分割符或正則表達式,指定分割位置)和limit
(指定返回的數(shù)組的最大長度)
可省略的參數(shù)separator
有多種取值情況,不同的情況返回的數(shù)組也不一樣:
1、split()方法不接受參數(shù):
var str="How are you doing today?"; var arr=str.split(); console.log(arr);
當參數(shù)為空時,則該方法會把整個字符串作為一個元素的數(shù)組返回(此時數(shù)組長度為1)。因此輸出結(jié)果為:
2、split()方法的separator參數(shù)為空字符串
var str="How are you doing today?"; var arr=str.split(''); console.log(arr);
當separator參數(shù)為空字符串時,那么該方法會按照單個字符進行分割,每個字符之間都會被分割,則會返回一個包含所有單個字符的字符數(shù)組(此時數(shù)組長度為字符串的長度)。因此輸出結(jié)果為:
3、split()方法的separator參數(shù)為空格' '
var str="How are you doing today?"; var arr=str.split(' '); console.log(arr);
當separator參數(shù)為空格時,那么該方法會按照空格來進行分割,將字符串中的每個單詞都分割出來作為數(shù)組元素。因此輸出結(jié)果為:
4、split()方法的separator參數(shù)為正則表達式
var str= "a2b3c4d5e678f12g"; var arr=str.split(/\d+/); //把以匹配的數(shù)字為分隔符來切分字符串 console.log(arr);
當separator參數(shù)為正則表達式,則該方法能夠以匹配文本作為分隔符進行切分。例如上例中就是匹配0~9的數(shù)字,將數(shù)字作為分割符,因此輸出結(jié)果為:
如果正則表達式匹配的文本位于字符串的邊沿,則 split() 方法也執(zhí)行切分操作,且為數(shù)組添加一個空數(shù)組。
var str= "122a2b3c4d5e678f12g456"; var arr=str.split(/\d+/); //把以匹配的數(shù)字為分隔符來切分字符串 console.log(arr);
如果在字符串中指定的分隔符沒有找到,則返回一個包含整個字符串的數(shù)組。
var str= "abcdefg"; var arr=str.split(/\d+/); //把以匹配的數(shù)字為分隔符來切分字符串 console.log(arr);
指定包含的子串數(shù)目
如果分割的子串太多,只是想要獲取前幾個子串,那么可以第二個參數(shù)limit
。
第二個參數(shù)limit
可指定返回數(shù)組的最大長度,即可設(shè)置包含的子串數(shù)目。如果設(shè)置了該參數(shù),則返回的數(shù)組長度不會大于這個參數(shù)指定的值:
var str="How are you doing today?"; var arr=str.split(' ',3); console.log(arr);
參數(shù)limit不接受負值,如果設(shè)置了負值,則該值會被會略掉。
var str="How are you doing today?"; var arr=str.split(' ',-3); console.log(arr);
到此,相信大家對“JS如何將字符串分割成子串并傳給數(shù)組”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。