javascript中使用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)使用正则表达式进行分割

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

你可能感兴趣的:(JavaScript,正则表达式,js)