Possible Duplicate:
Javascript code to parse CSV data
我有这个字符串:
"display, Name" <test@test.com>, display" Name <test@test.com>, test@test.com
我想把这个字符串分成一个数组
array[0] = "\"display, Name\" <test@test.com>"
array[1] = "display\" Name <test@test.com>"
array[2] = "test@test.com"
这是我的代码:
var comma = inQuotes = false;
for(var i=0;i<str.length;i++) {
if (str[i] == '"') inQuotes = !inQuotes;
comma = (str[i] == "," && !inQuotes) ? true : false;
item += (!comma) ? str[i] : "";
if(comma || i == str.length-1) {
items.push(item);
item = "";
}
}
我的问题是,如果字符串中有一个双引号而没有结束符
非常感谢您的帮助...
最佳答案
我尝试了这个,它适用于上面的字符串 jsfiddle
var a = '"display, Name" <test@test.com>, display" Name <test@test.com>, test@test.com';
var aa = a.match(/"(.*?)"(.*?),|(.*?),|(.*?)$/g);
aa.pop();
aa // [""display, Name" <test@test.com>,", " display" Name <test@test.com>,", " test@test.com"]
关于javascript用逗号分割字符串忽略引号内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13316370/