Javascript:拆分逗号分隔的带引号字符串
Javascript: Split Comma Delimited Quoted Strings
我有一个字符串,它本身就是一个逗号分隔的带引号字符串列表,其中可以有逗号。
示例:
var str = '"long one","short","oh, look","wow.", ""';
我需要把它分成一个数组:
['long one', 'short', 'oh, look', 'wow.', '']
// will take this if it is easier
['"long one"', '"short"', '"oh, look"', '"wow."', '""']
我尝试用,
进行拆分,但它会抛出带有逗号的条目。我也尝试过用'",
进行拆分,但它创建了lob-side字符串:
['"long one', '"short', '"oh, look', '"wow.', '"']
我尝试通过'",'"
进行拆分,但导致了相同的问题,但仅针对第一个也是最后一个条目:
['"long one', 'short', 'oh, look', 'wow.', '"']
我也尝试了这个答案中的regex表达式,但它在数组的开头和结尾添加了一个空条目:
['', '"long one"', '"short"', '"oh, look"', '"wow."', '""', '']
有什么建议吗?
谢谢。
您可以将其视为JSON字符串的一部分,并将解析所需的部分附加为数组。
var string ='"long one","short","oh, look","wow.", ""',
array = JSON.parse('[' + string + ']');
console.log(array);
如果逗号后面跟着双引号"
字符,则可以使用RegExp
/,(?=")/
使用.split()
逗号,
字符
str.split(/,(?=")/)
var s = '"long one","short","oh, look","wow.", ""';
var answer = s.split(/("*,.?")/gi).filter(function (a) {
return a.replace(/"/g, '').length > 2
}).map(function (a) {
return a.replace(/"/g, '')
});
console.log(s);
console.log(answer);
相关文章:
- 可以't用回车符分隔那个字符串
- 计算输入中有多少逗号分隔的字符串
- 比较逗号分隔的字符串
- 用分隔符分隔具有多个整数值的字符串的Javascript"重试错误的值
- 在javascript中用逗号分隔的字符串分割值
- 如何从由“”分隔的字符串中提取最后一个文本|&”;
- JS将分隔符分隔的字符串转换为数组元素
- jQuery:如何添加<br/>在不同的字符串中换行以分隔2中的句子
- 将逗号分隔的字符串转换为 JavaScript 数组
- 将字符串分隔成数字值
- 解析 HTML 或纯文本文件并返回由字符串分隔的文本
- 将字符串分隔在特定字符周围
- 我想将输入的字符串分隔为印度货币格式,就像我输入123456表示一样,那么我想得到 1,23,456
- Javascript将字符串分隔成不同的变量
- 将日期字符串分隔到JS对象中
- 将两个字符串分隔为两个变量
- SQLite插入到表中,使用JSON.stringyfy.以带引号的字符串分隔
- 将字符串分隔为整数,并存储总和和平均值
- Node js将字符串分隔成数组
- 使用正则表达式将任何字符串分隔成一个完整的单词,标点符号&html标记