如何在不使用regexp的情况下用javascript中的多个分隔符分割字符串



我有这个字符串

let str = "name1,name2/name3"

我想在","one_answers"/"上进行拆分,有没有一种方法可以在不使用regexp的情况下进行拆分?

这是想要的输出

name1
name2
name3

有点像马戏团,但完成了:

let str = "name1,name2/name3";
str.split("/").join(",").split(",");

将所有要拆分的字符转换为一个字符,并在此基础上执行split

您可以先通过,进行拆分,然后再次转换为数组,再通过/进行拆分

str.split(",").join("/").split("/")

如果没有regexp,您可以使用此技巧

str.split('/').join(',').split(',')

使用.split((方法:

const names = "name1,name2/name3".split(/[,/]/);

您仍然需要使用regex文本作为要拆分的标记,但不需要特别使用regex方法。

使用String.spit()即可发挥想象力。

let str = "name1,name2/name3";
let str1 = str.split(",");
let str2 = str1[1].split("/");
let result = [str1[0],str2[0],str2[1]];
console.log(result);

如果您不想使用regex,可以使用以下函数:

function split (str, seps) {
sep1 = seps.pop();
seps.forEach(sep => {
str = str.replace(sep, sep1);
})
return str.split(sep1);
}

用法:

const separators = [',', ';', '.', '|', ' '];
const myString = 'abc,def;ghi jkl';
console.log(split(myString, separators));

您可以使用regexp:

"name1,name2/name3".split(/,|;| |//); 

这将由,;或CCD_8 分割

"name1,name2/name3".split(/W/)

这将被任何非字母数字字符分割

最新更新