NeuroWhAI의 잡블로그

[JavaScript] replace all 본문

개발 및 공부/언어

[JavaScript] replace all

NeuroWhAI 2018. 6. 19. 18:14


사무실에서 코딩하고 있었는데 충공깽스러운 현상을 발견했습니다.

대충 "11_11".replace('1', '2')처럼 replace를 쓰는 코드였는데

저는 당연히 "22_22"로 결과가 나올 줄 알았습니다.

근데 아니더라고요.

허미 씌;;


찾아보니 아래처럼 정규식을 쓰거나 편법을 써서 구현해야 한다고 합니다.


정규식 사용:

1
2
3
4
String.prototype.replaceAll = function(search, replacement) {
    var target = this;
    return target.replace(new RegExp(search, 'g'), replacement);
};
cs


분해 후 조립:

1
2
3
4
String.prototype.replaceAll = function(search, replacement) {
    var target = this;
    return target.split(search).join(replacement);
};
cs


정규식 버전이 좀 더 빠르다고 합니다.



Comments