[英]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
- 此正则表达式用于用AND
和OR
拆分原始字符串,并将返回数组。
/"|\(|\)/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.