繁体   English   中英

如何在不使用正则表达式的情况下在 javascript 中拆分具有多个分隔符的字符串?

[英]How do I split a string with multiple separators in javascript without using regexp?

我有这个字符串

let str = "name1,name2/name3"

我想拆分“,”和“/”,有没有办法在不使用正则表达式的情况下拆分它?

这是愿望 output

name1
name2
name3

一点点马戏团,但完成了:

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

将要分割的所有字符转换为一个字符,然后在其上进行split

您可以先用,分割,然后再转换为数组,再用/分割

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

没有正则表达式,你可以使用这个技巧

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

使用 .split() 方法:

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

您仍然必须使用正则表达式文字作为要拆分的标记,但不是专门使用正则表达式方法。

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);

如果你不想使用正则表达式,你可以使用这个 function:

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));

您可以使用正则表达式:

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

这将被, , ; , /

或者

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM