我想基于定界符" "
和","
(包括引号)分割字符串。我将如何做到这一点?我尝试这样做:
var str = '"String","String2" "String3"';
str = str.split('" "', '","');
console.log(str);
但是没有用。我期待着这个控制台输出:
["String", "String2", "String3"]
但是我得到了
[]
如何基于两个定界符分割字符串?有可能吗?
答案 0 :(得分:6)
let str = '"String","String2" "String3"';
str = str.split(/ |,/);
console.log(str);
let str2 = '"String","String2" "String3"';
str2 = str2.split(/" "|","|"|\n/).filter(Boolean);
console.log(str2);
let str3 = '"String","String2" "String3"';
str3 = str3.match(/[\w\d]+/g);
console.log(str3);
答案 1 :(得分:0)
您可以使用正则表达式:str = str.split(/,| /)
console.log("a,b c".split(/,| /));
答案 2 :(得分:0)
您可以将正则表达式或数组指定为定界符 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split
答案 3 :(得分:0)
尝试以下解决方案
var str = '"String","String2" "String3"';
str = str.match(/\w+|"[^"]+"/g)
str = str.map(function(x){return x.replace(/"/g, '');});
console.log('Final str : ', str);