我需要在javascript中拆分字符串(无jquery)。 这基本上是从csv收到的。 所以,我有一个字符串,
string = '"abc, xyz, mno","lmn, pqr, bcd, jkl"';
请注意:引号中逗号的数量不是固定的,例如"abc, xyz, mno"
也可以是"abc, xyz, mno, klm, ..."
或"lmn, pqr, bcd, jkl"
可以只是"lmn"
;即完全没有逗号。
我想将其拆分为
str1 = 'abc, xyz, mno';
str2 = 'lmn, pqr, bcd, jkl';
由于不确定的逗号数量,我无法使用string.split(",");
进行此操作。
谢谢您的帮助。
答案 0 :(得分:1)
您可以在String#split
方法中指定多个字符:
str.split('","')
演示:
let str = '"abc, xyz, mno","lmn, pqr, bcd, jkl"';
let result = str.split('","')
console.log(result);
如果要删除引号,只需添加
.map(s => s.replace('"',''))
演示:
let str = '"abc, xyz, mno","lmn, pqr, bcd, jkl"';
let result = str.split('","').map(s => s.replace('"',''));
console.log(result);
答案 1 :(得分:0)
最好使用正则表达式。但是,由于它们不是我最擅长的领域,因此可以结合使用String.split()
,Array.map()
和String.replace()
来做到这一点:
let input = '"abc, xyz, mno","lmn, pqr, bcd, jkl"';
// Split where "," is found
// Create a new array that is a copy of the original
// but with \" removed from the elements
let output = input.split('","').map(s => s.replace('\"',''));
console.log(output);