从布尔查询中提取值



我想从布尔查询中提取值/变量例如

布尔查询是:

("资产数据管理")AND"数据科学家";数据科学& &;Analysis"或"金融建模";或"信用结构")&高盛;德意志银行;OR "纽约梅隆银行"摩根大通;OR BlackRock OR Amazon)

期望输出必须是:

["资产数据管理"数据科学家"数据科学"分析"金融建模"信用结构"高盛"纽约梅隆银行"摩根大通"贝莱德"亚马逊"]

您可以通过使用regex执行字符串split()和replaceAll()操作来简单地实现这一点。

/AND|OR/g-此正则表达式用于将原始字符串与ANDOR分开,并将返回数组。

/"|(|)/ig-此正则表达式用于替换所有(,)&"与空字符串。

工作演示:

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

最新更新