2013-10-07 8 views
1
sampleText='6501-*-5-[*]' 

예상 출력 I는 %로 바꾼 * [*] 그대로 떠나야Javascript- 정규식

result='6501-%-5-[*]' 

. 둘 다 여러 번 나타날 수 있습니다. 어떻게하면 자바 스크립트에서 할 수 있을까요? 미리 감사드립니다.

+3

(http://mattgemmell.com/2008/12/ 0837///시도한 /) – heretolearn

답변

0

이 시도 : 예를 들어

sampleText = sampleText.replace(/\*/g, function(match, offset){ 
    if(offset > 0) { 
     if(sampleText[offset - 1] == '[' && sampleText[offset + 1] == ']'){ 
      return match; 
     } 
    } 
    return '%'; 
}); 

바이올린 : here [? 당신이 시도 무엇]

+1

완벽 ... 매력처럼 ... – Joe

+0

한가지 더 SampleText = * r [*] d [a * bacd] ResultText = % r * da * bacd 즉 대괄호 안에있는 내용은 무시됩니다 ... 어떻게하면됩니까?이 방향은 ...? – Joe

+0

@ user714537 아주 간단하지만 운동으로 남겨 두었습니다. –

0

String.replace() 메서드를 사용할 수 있습니다. 문서 here

text = '6501-*-5-[*]'; 
text = text.replace('-*-','-%-'); 
console.log(text); // 6501-%-5-[*] 
+0

대체 ** ** 처음 ** - * - with - % - 그의 요구 사항이 아닙니다 –