我想从布尔查询中提取值/变量,例如
布尔查询是:
(“资产数据管理”)和“数据科学家”和(“数据科学和分析”或“金融建模”或“信贷结构”)和(“高盛”或“德意志银行”或“纽约梅隆”或"JP摩根“或BlackRock或亚马逊)
预期产出必须是:
“资产数据管理”、“数据科学家”、“数据科学与分析”、“金融建模”、“信贷结构”、“高盛”、“纽约梅隆”、“摩根大通”、"BlackRock“、”亚马逊“
发布于 2022-05-05 10:10:36
您可以通过使用regex执行字符串斯普利特(和replaceAll()操作来实现这一点。
/AND|OR/g -此正则表达式用于使用AND和OR拆分原始字符串,并返回数组。
/"|\(|\)/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);
https://stackoverflow.com/questions/72115250
复制相似问题