我有一个字符串让我们说'C1和C2或C3(〜!@#$%)和C4或C5'......现在我实际上将它拆分并保存在一个数组中(inArray)即
function removeCondition(condition,input){
//Condition is the String ie(C1 And C2) and input is the suffix no ie (3 for C3)
condition = condition.replace(new RegExp("\n","g")," ");
var inArray = condition.split(' ');
var conditionRemoved = false;
inArray.forEach(function(v,i,a){
if(v.indexOf("C"+input) > -1){
if(i+2 < a.length){
//some function i want
//inArray.splice(i,2);
}
else{
inArray.splice(i-1,2);
}
inArray.join(' ');
}
}
}//editor: added this bracket to balance the closing brackets
当我想要所需条件时,满足if()
以上条件,即在这种情况下C3
..现在我想删除C3
以及下一个运算符(可以是OR / AND)以及介于两者之间的所有垃圾..所以对于上面的ex,我的输出必须是C1 AND C2 OR C4 OR C5
。
答案 0 :(得分:1)
我仍然不确定你的问题但是由于你正在跟进你的问题,这段代码可能会给你一个起点
var conditions = 'C1 AND C2 OR C3 (~!@#$%) AND C4 OR C5';
var filtered = conditions.replace(/c3((?!and|or).)*(and|or)/gi, '');
//output: C1 AND C2 OR C4 OR C5
我希望您可以将给定的(硬编码)工作解决方案用于您的功能并获得所需的输出。