[TIP] 자바스크립트에서 replaceAll을 사용해 보자
자바스크립트에서 replaceall을 사용해 보자
자바스크립트에는 replace 함수는 있지만 replaceall 함수는 없다.
하지만 비슷하게 구현해서 사용할 수 있는데
일단 기본적으로 문자를 치환하는 것이라면 정규식을 사용하여 replace 함수의 치환 대상 문자를 넣는 부분에 /문자열/gi 를 넣어서 사용하면 된다.
변수 = 변수.replace(/대상문자/gi,"치환문자")
사용 예)
var text = "abcdaabbccddaa";
text = text.replace(/aa/gi,"")
console.log(text);
결과
adcdbbccdd
하지만 특수문자가 포함된 문자열을 변경하는 경우는 그냥 사용할 수 없는데
특히 특수문자가 많이 포함되어 있다면 replace를 사용하기엔 여간 번거로운게 아니다.
이런 경우에는 split과 join을 이용하여 간편하게 변경하는 방법도 있다.
변수 = 변수.split("대상문자").join("치환문자");
사용 예)
var text = "(adsbygoogle || [])});aaaaa gg (adsbygoogle || [])}); gggg";
text = text.split("(adsbygoogle || [])});").join("");
console.log(text);
결과
aaaaa gg gggg
추가로 해당 방법을 자주 쓴다면 함수로 만들어 사용하는 방법도 좋다.
사용 예)
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);
결과는 위와 같다.