我正在尝试使用正则表达式
逐行拆分CSV文件arr = s.split(/\r\n/g);
它正常工作,除非文本分隔符内有\ r \ n(" ...")
CSV文件如下所示:
Nom;Prenom;Adresse;CP;Ville
DUPONT;Albert;"immeuble Future
3 rue de la source
";75000;PARIS
MARTIN;Etienne;"23 rue des lilas
Cité Aubépine
Quartier Saint Laurent";75000;PARIS
我想要的是切除每个\ r \ n除了分隔符内的那些
任何想法?
提前致谢
答案 0 :(得分:1)
正则表达式不适合此任务。使用CSV解析器执行此任务。例如,这个解析器http://papaparse.com/看起来不错。
答案 1 :(得分:0)
我写了这个代码,但没有正则表达式:
function nbTextDelimiter(s) {
var a = s.match(/\"/gi);
return a? a.length : 0;
}
var arr = st.split(/\r\n/g), arrOut=[], c=0;
for(var i=0 ; i<arr.length ; i++){
var n = nbTextDelimiter(arr[i]);
if(!c){
arrOut.push(arr[i]);
if(n%2==1){ c=!c }
} else {
arrOut[arrOut.length-1]+=arr[i];
if(n%2==1){ c=!c }
}
}