简体   繁体   English

从 Boolean 查询中提取值

[英]Extract values from Boolean Query

I want to extract values/variables from boolean query For eg我想从 boolean 查询中提取值/变量例如

The boolean query is: boolean 查询是:

("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) (“资产数据管理”)和“数据科学家”和(“数据科学与分析”或“财务建模”或“信用结构”)和(“高盛”或“德意志银行”或“纽约梅隆银行”或“JP摩根”或贝莱德或亚马逊)

The expected output must be:预期的 output 必须是:

["Asset Data Management","Data Scientist","Data Science & Analysis","Financial Modelling","Credit Structuring","Goldman Sachs","BNY Mellon","JP Morgan","BlackRock","Amazon"] [“资产数据管理”、“数据科学家”、“数据科学与分析”、“财务建模”、“信用结构”、“高盛”、“纽约梅隆银行”、“摩根大通”、“贝莱德”、“亚马逊” “]

You can simply achieve this by using regex to perform string split() and replaceAll() operation.您可以通过使用正则表达式执行字符串split()replaceAll()操作来简单地实现这一点。

/AND|OR/g - This regex is used to split the original string with AND and OR and will return the array. /AND|OR/g - 此正则表达式用于用ANDOR拆分原始字符串,并将返回数组。

/"|\(|\)/ig - This regex is used to replace all the ( , ) & " with the empty string. /"|\(|\)/ig - 此正则表达式用于将所有( , ) & "替换为空字符串。

Working Demo :工作演示

 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);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM