我有一个字符串:
'"test@test.com, "Ragland Raja, II" <moses.jelsey@gmail.com>, "'
我想把这个字符串分成像
这样的数组array[0] = test@test.com
array[1] = "Ragland Raja, II" <moses.jelsey@gmail.com>
你能提出任何建议吗?
答案 0 :(得分:0)
我认为你必须完成这件事。首先替换引号内的逗号+空格,这样就不会弄乱分割操作。在这里,我用下划线替换了空格。
str.replace(/(".*,)( )(.*")/g, '$1_$3');
// 'test@test.com, "Ragland Raja,_II" <moses.jelsey@gmail.com>, '
然后你只需要进行常规的拆分操作:
str.split(", ");
// ["test@test.com", ""Ragland Raja,_II" <moses.jelsey@gmail.com>", ""]
之后,返回并在每个项目中换出引号内的,_
。这是下面的完整代码。
var str = 'test@test.com, "Ragland Raja, II" <moses.jelsey@gmail.com>, ';
str = str.replace(/(".*,)( )(.*")/g, '$1_$3');
var arr = str.split(", ");
arr.forEach(function(el, i, array){
array[i] = el.replace(",_", ", ");
});
// arr = ["test@test.com", ""Ragland Raja, II" <moses.jelsey@gmail.com>", ""]