2017-11-18 1 views
1

문자열에서 '-xx'를 모두 삭제할 수있었습니다 (예제 1). 예 2와 3을 작성하는 데 도움을 주실 것을 부탁드립니다.Regex는 문자열을 바꾸고 추가합니다.

function myFunction() { 
 
    var str1 = 'foot zi-cnn-xx vi-sky-xx test vi-axn-xx red'; 
 
    var str2 = 'foot zi-cnn vi-sky test vi-axn red'; 
 
    
 
    // Example 1 
 
    // remove every '-xx' 
 
    var res1 = str1.replace(/-xx/g, ''); 
 
    document.getElementById("demo1").innerHTML = res1; 
 
    
 
    // Example 2 
 
    // delete every '-xx' from str1 substring that starts with 'vi' 
 
    // expected: 'foot zi-cnn-xx vi-sky test vi-axn red'; 
 
    
 
    // Example 3 
 
    // add '-xx' to str2, to every substring that starts with 'vi' 
 
    // expected: 'foot zi-cnn vi-sky-xx test vi-axn-xx red'; 
 

 
}
<button onclick="myFunction()">Test this</button> 
 

 
<p id="demo1"></p> 
 
<p id="demo2"></p> 
 
<p id="demo3"></p>

+0

이러한 예에서 목표를 달성하기 위해 작성하려고 시도한 코드가 있습니까? 어떤 부분에 문제가 있습니까? 요구 사항을 나열하고 누군가에게 전체 구현을 제공하도록 요청하는 것은 적절하지 않습니다. –

+0

힌트 : 캡쳐 그룹을 사용하십시오. – Barmar

+0

팁 Barmar에 감사드립니다. –

답변

1

당신은 3

코드 조각을 경우에 경우에 vi-$1vi-$1-xx-2
vi-([-\w]+)vi-([-\w]+)-xx을 대체 할 수

function myFunction() { 
 
    var str1 = 'foot zi-cnn-xx vi-sky-xx test vi-axn-xx red'; 
 
    var str2 = 'foot zi-cnn vi-sky test vi-axn red'; 
 
    
 
    // Example 1 
 
    // remove every '-xx' 
 
    var res1 = str1.replace(/-xx/g, ''); 
 
    document.getElementById("demo1").innerHTML = res1; 
 
    
 
    // Example 2 
 
    // delete every '-xx' from str1 substring that starts with 'vi' 
 
    // expected: 'foot zi-cnn-xx vi-sky test vi-axn red'; 
 
    var res2 = str1.replace(/vi-([-\w]+)-xx/g, "vi-$1"); 
 
    document.getElementById("demo2").innerHTML = res2; 
 
    
 
    // Example 3 
 
    // add '-xx' to str2, to every substring that starts with 'vi' 
 
    // expected: 'foot zi-cnn vi-sky-xx test vi-axn-xx red'; 
 
    var res3 = str2.replace(/vi-([-\w]+)/g, "vi-$1-xx"); 
 
    document.getElementById("demo3").innerHTML = res3; 
 

 
}
<button onclick="myFunction()">Test this</button> 
 

 
<p id="demo1"></p> 
 
<p id="demo2"></p> 
 
<p id="demo3"></p>

+0

고마워. 나는 정규 표현식에 대한 튜토리얼을 youtube에 넣을 것이다. –

관련 문제