자바스크립트 replace() 함수 사용하기

 

replace() 함수는 특정문자열에서 지정한 문자열(문자) 또는 정규식을 대체할 문자열(문자) 또는 함수로 바꾸어준다.

replace(지정한 문자열|정규식, 대체할 문자열|함수)

 

한번만 바꾸어주므로 여러개를 바꿀려면 정규식을 사용해야 한다. 자바에서 사용하는 replaceAll()과 같다.

정규식: replace(/지정한 문자열/gi, "대체할 문자열")  // g: global - 문장전체, i:ignore - 대소문자 무시

 

 

사용예>

예제) 날짜 "2019-11-22"에 있는 "-"를 없애 결과를 "20191123"으로 만들어 준다.

<script>

    var str="2019-11-22";

    var newStr=date.replace("-", "");

    console.log(newStr); // 결과는 "201911-22"

</script>

 

원하던 결과가 나오지 않았다. 한번만 "-"를 ""로 변환했기 때문이다.

여기서 원하는 결과를 나오게 할려면 지정한 문자열에 "-"가 두개이므로 replace()를 두번 사용하면 된다.

 

<script>

    var str="2019-11-22";

    var newStr=str.replace("-","").replace("-","");;

    console.log(newStr); // 결과는 "20191122"

</script>

 

하지만, 특정문자를 바꾸고 싶을때 몇개 있는지 모를때는 문제가 되므로, 정규식을 사용하는 것이 좋다.

정규식은 하나씩 공부하는 수밖에 없는 듯 하다.

 

<script>

    var str="2019-11-22";

    var newStr=str.replace(/-/gi,"-"); // g: global - 문장전체, i:ignore - 대소문자 무시

    console.log(newStr); // 결과는 "20191122"

</script>

 

 

출처>

https://developer.mozilla.org/ko/docs/Web/JavaScript

 

+ Recent posts