Quiero extraer valores/variables de una consulta booleana, por ejemplo
La consulta booleana es:
("Gestión de datos de activos") Y "Científico de datos" Y ("Ciencia y análisis de datos" O "Modelado financiero" O "Estructura de crédito") Y ("Goldman Sachs" O "Deutsche Bank" O "BNY Mellon" O "JP Morgan" O BlackRock O Amazon)
La salida esperada debe ser:
["Gestión de datos de activos","Científico de datos","Ciencia y análisis de datos","Modelado financiero","Estructura de crédito","Goldman Sachs","BNY Mellon","JP Morgan","BlackRock","Amazon "]
Simplemente puede lograr esto usando expresiones regulares para realizar la operación string split() y replaceAll() .
/AND|OR/g : esta expresión regular se usa para dividir la cadena original con AND y OR y devolverá la matriz.
/"|\(|\)/ig - Esta expresión regular se usa para reemplazar todos los ( , ) & " con la cadena vacía.
Demostración de trabajo :
const str = '("Asset Data Management") AND "Data Scientist" AND ("Data Science & Analysis" OR "Financial Modelling" OR "Credit Structuring") AND ("Goldman Sachs" OR "Deutsche Bank" OR "BNY Mellon" OR "JP Morgan" OR BlackRock OR Amazon)'; const strArr = str.split(/AND|OR/g); const finalArr = strArr.map(elem => { return elem.trim().replaceAll(/"|\(|\)/g, '') }); console.log(finalArr);