[TIP] 자바스크립트에서 replaceAll을 사용해 보자

2017. 6. 26. 23:15 / 서기랑

자바스크립트에서 replaceall을 사용해 보자


자바스크립트에는 replace 함수는 있지만 replaceall 함수는 없다.

하지만 비슷하게 구현해서 사용할 수 있는데

일단 기본적으로 문자를 치환하는 것이라면 정규식을 사용하여 replace 함수의 치환 대상 문자를 넣는 부분에 /문자열/gi 를 넣어서 사용하면 된다.


변수 = 변수.replace(/대상문자/gi,"치환문자")

사용 예)

var text = "abcdaabbccddaa";

text = text.replace(/aa/gi,"")

console.log(text);


결과

adcdbbccdd


자바스크립트 replaceAll


하지만 특수문자가 포함된 문자열을 변경하는 경우는 그냥 사용할 수 없는데

특히 특수문자가 많이 포함되어 있다면 replace를 사용하기엔 여간 번거로운게 아니다.

이런 경우에는 split과 join을 이용하여 간편하게 변경하는 방법도 있다.


변수 = 변수.split("대상문자").join("치환문자");

사용 예)

var text = "(adsbygoogle || [])});aaaaa gg (adsbygoogle || [])}); gggg";

text = text.split("(adsbygoogle || [])});").join("");

console.log(text);


결과

aaaaa gg gggg


자바스크립트 replaceAll


추가로 해당 방법을 자주 쓴다면 함수로 만들어 사용하는 방법도 좋다.

사용 예)

String.prototype.replaceAll = function(before, after) {

    return this.split(before).join(after);

}


var text = "(adsbygoogle || [])});aaaaa gg (adsbygoogle || [])}); gggg";

text = text.replaceAll("(adsbygoogle || [])});","");

console.log(text);


결과는 위와 같다.


자바스크립트 replaceAll