使用条件拆分JavaScript字符串
在JavaScript中,我可以使用split通过逗号(,)分隔字符串。我的字符串如下:使用条件拆分JavaScript字符串,javascript,regex,split,Javascript,Regex,Split,在JavaScript中,我可以使用split通过逗号(,)分隔字符串。我的字符串如下: "Hojas, DNI, Factura {Con N° de O/C impresa, otra cosa}, Pasaporte, Permiso" 结果应该是: ["Hojas", "DNI", "Factura {Con N° de O/C impresa, otra cosa}", "Pasaporte", "Permiso"] 我试着做到以下几点: "Hojas, DNI, Fact
"Hojas, DNI, Factura {Con N° de O/C impresa, otra cosa}, Pasaporte, Permiso"
结果应该是:
["Hojas", "DNI", "Factura {Con N° de O/C impresa, otra cosa}", "Pasaporte", "Permiso"]
我试着做到以下几点:
"Hojas, DNI, Factura {Con N° de O/C impresa, otra cosa}, Pasaporte, Permiso".split(/,\s+(.+\s{.+})?/g)
但是我得到了以下结果:
[“Hojas”,“DNI,Factura{Con N°de O/C impresa,otra cosa}”,“undefined”,“Pasaporte”,undefined,“Permiso”]
假设没有不成对或嵌套的{}/code>,您可以使用(?![^{}]*})
向前看,确保逗号后没有结束符}
:
\s*,\s*(?![^{}]*})
看
还有一个片段:
var re=/\s*,\s*(?![^{}]*})/g;
var str='Hojas,DNI,Factura{Con N°de O/C impresa,otra cosa},Pasaporte,Permiso';
var res=str.split(re);
对于(var i=0;i,请查找以下代码片段:
var arr = "Hojas, DNI, Factura {Con N° de O/C impresa, otra cosa}, Pasaporte, Permiso".split(/\s*,\s*(?![^{}]*})/g);
console.log(arr);
Factura{Con N°de O/C impresa,otra cosa}
应该是一个元素,但是您的代码two@Grundy:谢谢,我也改正了。