用逗号分割字符串,但要保留空字段
问题描述:
我想读csv file.I通过换行符分割文件现在我想用逗号“,”分隔每一行。低于正则表达式正常工作,但问题是它省略了空字段。用逗号分割字符串,但要保留空字段
我想这个输出
[Type,Name,Description,"",Comments]
但是,得到4索引,而5
[Type,Name,Description,Comments]
str = "Type,Name,Description,,Comments"
var arr = str.match(/("[^"]*")|[^,]+/g);
/("[^"]*")|[^,]+/g)
上述正则表达式中使用,如果逗号双引号中出现 类型来避免这个问题,名称,“说明, s“,,评论
我是新来的正则表达式,并不知道如何才能实现它。在此先感谢
答
你可以空部分(?=,(,|$))
添加的模式。
var string = "Type,\"Name, foo\",Description,,Comments,",
array = string.match(/(("[^"]*")|[^,]+)|(?=,(,|$))/g);
console.log(array);
+0
谢谢,正确和最快的答案:) –
答
只需使用String#split函数并将,
传递给它。
var str = "Type,Name,Description,,Comments"
var arr = str.split(',');
console.log(arr);
不使用正则表达式,使用'分裂(“”)' –
我认为这是错误的重复数据删除技术的目标,因为它不仅是分裂,但保持引用的字符串用逗号而分离。 –