javascript中split的用法

815 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第20天,点击查看活动详情

说在前面

🎈split这个方法现在在前端数据处理过程中的使用频率还是比较高的,在平时我们大部分时间是使用其对一些特殊符号进行分割,如'1,2,3,4,5,6'.splice(',')得到的结果会是['1','2','3','4','5','6'],接下来让我们一起来重新了解一下split()。

定义

split() 方法用于把一个字符串分割成字符串数组。

语法

stringObject.split(separator,howmany)

参数描述

separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。

howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

返回值

一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。

但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。

提示

如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

String.split() 执行的操作与 Array.join 执行的操作是相反的。

例子

var str="How are you doing today?"
console.log(str.split(" ") )
console.log(str.split("") )
console.log(str.split(" ",3) )
//输出:
//[How,are,you,doing,today?]
//[H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?]
//[How,are,you]

使用多个分割符进行分割

上面的例子是使用的最简单的一个分割符进行分割,也是我们常用的,但是在实际应用中我们也可能需要同时对多个字符进行分割

(1)使用join配合split

join()方法是在将数组转换为字符串的时候使用的,在这里我们可以利用它来进行多次分割,具体代码如下:

let str = "1+1-2*3/4";
let separator = "+-*/";
for(let i = 0; i < separator.length - 1; i++){
    str = str.split(separator[i]).join(separator[i+1]);
}
console.log(str.split(separator[separator.length - 1]));
//结果
//["1", "1", "2", "3", "4"]

(2)使用正则表达式进行分割

split方法的separator参数支持正则表达式,所以我们可以使用正则表达式来进行分割,具体代码如下:

let str = "1+1-2*3/4" separator = /\+|-|\*|\//; 
console.log(str.split(separator)); //注意对特殊字符进行转义 
//输出结果 //["1", "1", "2", "3", "4"]

说在后面

🎉这里是JYeontu,现在是一名前端工程师,有空会刷刷算法题,平时喜欢打打羽毛球🏸 ,平时也喜欢写些东西,既为自己记录📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解🙇,写错的地方望指出,定会认真改进😊,在此谢谢大家的支持,我们下文再见🙌。