Dividir una cadena por comas, ignorando las comas entre comillas dobles usando JavaScript
Para abordar el desafío de dividir una cadena por comas manteniendo el doble segmentos entre comillas, podemos utilizar expresiones regulares en JavaScript. Aquí se explica cómo:
var str = 'a, b, c, "d, e, f", g, h';
var arr = str.match(/(".*?"|[^",\s] )(?=\s*,|\s*$)/g);
// Handle the case of no matches to prevent errors
arr = arr || [];
// Iterate over the matches and display them
for (var i = 0; i Esta expresión regular emplea dos grupos de captura para hacer coincidir subcadenas de interés:
- Grupo 1: Coincide con segmentos entre comillas dobles ("d, e, f ") usando un operador codicioso (.*?) para capturar todo lo que esté entre comillas dobles.
- Grupo 2: Coincide con cualquier otro secuencia de caracteres (por ejemplo, "a", "g") que no contiene comillas dobles, comas ni espacios en blanco ([^",\s] ).
La aserción de anticipación (? =\s*,|\s*$) garantiza que la coincidencia sea seguida por un espacio en blanco y una coma o el final de la cadena. Esto garantiza que solo capturemos segmentos separados por comas.
Al hacer coincidir los segmentos entrecomillados y no entrecomillados, esta solución divide con precisión la cadena dada en una matriz de seis elementos: ["a", "b", "c ", "d, e, f", "g", "h"].
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3