2 回答
TA贡献1843条经验 获得超7个赞
由于您在问题中标记了 mirth,因此您可以使用内置的 mirth 解析器。请注意,您的问题中的确切字符串将不起作用,因为逗号之后和“And, Beyond”之前有一个空格。如果要引用 CSV 字段,则需要引用整个字段(否则引用将被视为值的一部分。)
var serializer = SerializerFactory.getSerializer('delimited');
var s = 'To,Infinity,"And, Beyond",,Buzz Lightyear';
var split = new XML(serializer.toXML(s));
for each (var col in split.row.children()) {
logger.info(col.toString());
}
编辑:我没有生成数组,因为你说你只需要它进行循环,如上所示,但如果你仍然需要一个数组,你可以这样做:
var arr = [];
for each (var col in split.row.children()) {
arr.push(col.toString());
}
TA贡献1875条经验 获得超5个赞
这应该按照您的期望工作:
var s = 'To, Infinity, "And, Beyond",,Buzz Lightyear';
var array = s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
console.log(array);
添加回答
举报