2013-04-09 2 views
0

문자열이 있는데 'C1과 C2 또는 C3 (~! @ # $ %) 및 C4 또는 C5'라고 말할 수 있습니다. ...... 이제 실제로 이것을 분할하여 배열에 보관했습니다. (inArray) 내가 원하는 조건을 할 때 조건이 경우 C3에, 즉, 만족자바 스크립트에서 문자열 서식 지정

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() 위의 IE는 ... 지금은 다음 연산자와 함께 C3 (즉, 수 및/또는 수) 제거 할 그리고 사이에있는 모든 쓰레기 .. 위의 예를 들어 내 출력은 C1 AND C2 OR C4 OR C5이어야합니다.

+0

왜 'C3'을 제거 하시겠습니까? – Ejaz

+0

thats 와트 요구 사항은 .. 그리고 그것은 C1, C2, C3 등등 수 있습니다 .. 제네릭 솔루션에 대한 m lukin – Kumar

+1

아 .. 왜 thers는 ques에 투표 ... atleast 제공 .. 그래서 미래에 내가 수 있습니다. – Kumar

답변

1

나는 여전히 당신의 질문에 대해 확실하지 않다 그러나 당신이 질문을 다음하고 있기 때문에,이 코드는 당신에게 출발점

var conditions = 'C1 AND C2 OR C3 ([email protected]#$%) AND C4 OR C5'; 
var filtered = conditions.replace(/c3((?!and|or).)*(and|or)/gi, ''); 

//output: C1 AND C2 OR C4 OR C5 

난 당신이 사용할 수있는 희망을 줄 수있는 주어진 (하드 코딩) 귀하의 기능에 맞는 해결책을 찾고 원하는 결과를 얻으십시오.

+0

노력에 감사드립니다 ... 쓰레기는 공백이나 중괄호와 같은 것일 수 있습니다.)()()() ... – Kumar

+1

해본 적이 있습니까? _garbage_에'and' 또는'or' 키워드가 포함되어 있지 않으면 작동해야합니다. – Ejaz

+0

또한 여기에 나는 각 입력에 따라 달라지는 것으로서 C3를 하드 코드 할 수 없다. ... – Kumar