Original, cadena: "FOO,blue,FOO,yellow,red,FOO,purple,brown,blue,FOOred,orange,FOO,blue,yellow"
Me gustaría convertir esta cadena mixta en una matriz, dividirla específicamente en cada ,FOO y mantener FOO .
Código:
var str = "blue,FOO,yellow,red,FOO,purple,brown,blue,FOOred,orange,FOO,blue,yellow" var regex = /(?=,FOO)/g console.log(str.split(regex))Resultado deseado:
[ 'FOO,blue', 'FOO,yellow,red', 'FOO,purple,brown,blue', 'FOOred,orange', 'FOO,blue,yellow', ]resultado actual:
[ 'FOO,blue', ',FOO,yellow,red', ',FOO,purple,brown,blue', ',FOOred,orange', ',FOO,blue,yellow', ] Como puede ver, cada instancia de FOO incluía la coma anterior; ¿Cómo puedo excluir la coma en la misma operación de expresión regular?
var str = "FOO,blue,FOO,yellow,red,FOO,purple,brown,blue,FOOred,orange,FOO,blue,yellow" var regex = /(?=,FOO)/g console.log(str.split(regex))En este momento, solo está buscando la coma; debe incluirla en la coincidencia (fuera de la búsqueda anticipada) para que se divida y no se incluya en el resultado.
var str = "FOO,blue,FOO,yellow,red,FOO,purple,brown,blue,FOOred,orange,FOO,blue,yellow" var regex = /,(?=FOO)/g console.log(str.split(regex))