153,Rajashekar,9/13/2021,06-01-1988,33,98%,NAD,NAD,NAD,NAD,no aplicable en vista de covid-19,NAD,NAD, "Paciente con buena salud, listo para alta" , No en detalles, 10, Amarillo pálido, Claro, Cero, Cero, Ambos ojos miopía simple, Normal, Informes compartidos, Normal, Informes adjuntos, WNL, "Hipertensión no controlada: dieta restringida en sal, caminata regular, controle la presión arterial con regularidad (una vez cada 15 días), opinión del cardiólogo con evaluación adicional. Pertenecen a la visión, se recomienda visión a distancia con prescripción de anteojos. " , *Ajuste condicional, sí para trabajar.
153,Rajashekar,9/13/2021,06-01-1988,33,98 %,NAD,NAD,NAD,NAD,no aplicable en vista de covid-19,NAD,NAD, "Paciente en buen estado de salud listo para ser dado de alta " , No en detalles, 10, Amarillo pálido, Claro, Cero, Cero, Ambos ojos miopía simple, Normal, Informes compartidos, Normal, Informes adjuntos, WNL, "Hipertensión no controlada: Dieta restringida en sal Caminata regular Controle la presión arterial regularmente (una vez en 15 días ) Opinión del cardiólogo con evaluación adicional Pertenecen a la visión aconsejada anteojos recetados visión a distancia " , *Ajuste condicional, Sí para trabajar.
Como puede ver, hay muchas comas en esta gran cadena, quiero eliminar las comas solo de aquellas subcadenas que contienen comillas dobles aquí (en negrita).
Suponiendo que las comillas dobles siempre estén equilibradas, puede probar un reemplazo de expresiones regulares con una función de devolución de llamada:
var input = "A,B,\"foo, bar\",D"; var output = input.replace(/"(.*?)"/g, (x) => x.replace(/,/g, "")); console.log(input); console.log(output);
const stringToClean = `153,Rajashekar B Hanchinal,9/13/2021,06-01-1988,33,M3249,M,9739465908,RIPL,Manufacturing Assistant,Starch,168,67,24,Normal Weight,B+Ve,160,100,76,93,88,A Small black mole present over the Rt.hand palm,8 Years,Vegetarian,NAD,Nil in particular,NAD,NAD,HTN,Nil in particular,No,98%,NAD,NAD,NAD,NAD,not applicable in view of covid-19,NAD,NAD,"Patient in good health, ready to discharge", Not in Particulars,10,Pale Yellow,Clear,Nil,Nil,Both eyes simple myopia,Normal,Reports Shared,Normal,Reports Attached,WNL, "Uncontrolled hypertension: Salt Restricted Diet, Regular walk, Monitor blood pressure regularly ( once in 15 days ), Cardiologist opinion with further evaluation. Pertain to vision, advised glass prescription distance vision. ", *Conditional Fit,Yes to work.` const result = s.replace(/"[^"]+"/g, function(v) { return v.replace(/,/g, ''); }); console.log(result) //153,Rajashekar B Hanchinal,9/13/2021,06-01-1988,33,M3249,M,9739465908,RIPL,Manufacturing Assistant,Starch,168,67,24,Normal Weight,B+Ve,160,100,76,93,88,A Small black mole present over the Rt.hand palm,8 Years,Vegetarian,NAD,Nil in particular,NAD,NAD,HTN,Nil in particular,No,98%,NAD,NAD,NAD,NAD,not applicable in view of covid-19,NAD,NAD,"Patient in good health ready to discharge", Not in Particulars,10,Pale Yellow,Clear,Nil,Nil,Both eyes simple myopia,Normal,Reports Shared,Normal,Reports Attached,WNL, "Uncontrolled hypertension: Salt Restricted Diet Regular walk Monitor blood pressure regularly ( once in 15 days ) Cardiologist opinion with further evaluation. Pertain to vision advised glass prescription distance vision. ", *Conditional Fit,Yes to work.