提问人:Bhavesh Kale 提问时间:5/4/2022 更新时间:5/5/2022 访问量:109
从布尔查询中提取值
Extract values from Boolean Query
问:
我想从布尔查询中提取值/变量 例如,对于
布尔查询为:
(“资产数据管理”)和“数据科学家”和(“数据科学与分析”或“金融建模”或“信贷结构”)和(“高盛”或“德意志银行”或“纽约梅隆银行”或“摩根大通”或贝莱德或亚马逊)
预期输出必须为:
[“资产数据管理”,“数据科学家”,“数据科学与分析”,“金融建模”,“信贷结构”,“高盛”,“纽约梅隆银行”,“摩根大通”,“贝莱德”,“亚马逊”]
答:
0赞
Rohìt Jíndal
5/5/2022
#1
您可以通过使用正则表达式执行字符串 split() 和 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);
评论
AND
OR