一、概述
JavaScript中的字符串(String)是不可變的,也就是說,一旦創建,就無法更改其內容。因此,為了處理字符串,JavaScript提供了一系列的內置方法。其中之一就是split()函數。
split()方法用於將一個字符串劃分為一個字符串數組。該方法將一個字符串拆分成一個子串數組,然後返回這個數組。你可以指定一個分隔符,例如逗號或空格符,用來劃分子字符串。如果沒有指定分隔符,該方法返回一個包含整個字符串的數組。split()方法的語法如下:
string.split([separator[, limit]])
其中,第一個參數separator為分隔符,可以是字符串或正則表達式。第二個參數limit為返回的數組元素個數上限。如果不傳遞第二個參數或傳遞undefined,則返回整個字符串的數組表示。
二、基礎用法
最基本的使用方法就是傳遞一個字符串作為分隔符:
var str = "apple,banana,orange"; var arr = str.split(","); console.log(arr); // ["apple", "banana", "orange"]
上例中,使用逗號作為分隔符,將字符串劃分為一個數組。
三、使用正則表達式
如果要將字符串按照比較複雜的規律分割,可以使用正則表達式作為分隔符
var str = "a1b2c3d4"; var arr = str.split(/\d/); console.log(arr); // ["a", "b", "c", "d", ""]
上例中,使用/\d/作為分隔符,表示要以數字為分割依據。因此,字符串被切分成了一個數組 [a, b, c, d, “”]。最後一個元素為一個空字符串,是因為字符串末尾沒有數字,因此在該位置被分隔。
四、限制返回的數組元素數量
split()方法的第二個可選參數limit,用於設置返回的結果數組的最大長度。
var str = "apple,banana,orange"; var arr1= str.split(",",2); var arr2 = str.split(",",1); console.log(arr1); // ['apple', 'banana'] console.log(arr2); // ['apple']
上文中,參數2指定返回數組長度不超過2。結果為 [‘apple’, ‘banana’]。參數1指定只返回數組第一個元素,結果為[‘apple’]。
五、處理特殊情況
在使用split()方法時,需要注意一些特殊情況的處理。
當字符串中有連續的分隔符時,split()會忽略空字符串元素。例如:
var str = "apple,,,banana,orange"; var arr = str.split(","); console.log(arr); // ["apple", "", "", "banana", "orange"]
上例中,使用逗號作為分隔符,將包含連續逗號的字符串劃分為數組。由於有連續的逗號,因此數組中有兩個空字符串元素。
當字符串中只有一個分隔符時,split()會返回兩個元素,第一個元素是分隔符前的空字符串,第二個元素是分隔符後的字符串。例如:
var str = ",apple"; var arr = str.split(","); console.log(arr); // ["", "apple"]
上例中,只有一個逗號作為分隔符,會返回兩個元素,第一個元素是空字符串。這是因為字符串開頭就有一個分隔符,split()方法會認為這個空字符串表示的是分隔符前的一個空字符串元素。
六、結論
無論從語法角度還是使用角度來看,split()函數都是一項十分實用的基礎函數,也是JS中不可或缺的一部分。在實際項目中的某些處理中,常常需要處理文本中的一些格式或者關鍵字劃分等工作,這時split()函數能夠大大提升開發效率。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/182889.html