Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

J 의 기록

[Javascript] Javascript 에서 replaceAll() 구현하기 본문

개발

[Javascript] Javascript 에서 replaceAll() 구현하기

Luctor 2020. 5. 29. 13:20

자바스크립트에는 replaceAll()함수가 없다.

 

그리고 replace()를 사용하면 첫번째 문자만 치환되고 멈춘다.

 

그래서 replaceAll()이 필요한 경우에 할 수 있는 두 가지 방법을 찾아봤다.

 

1. String prototype 메서드 추가

String.prototype.replaceAll = function(org, dest) {
	return this.split(org).join(dest);
}

var str = "A.B.C";

str = str.replaceAll(".", ",");	

console.log(str); 		//A,B,C

코드 구현 설명은 

 

"A.B.C".split(".")

--> ["A","B","C"]

치환할 문자열(".")로 배열을 만들고

 

 

["A","B","C"].join(",")

--> "A,B,C"

치환될 문자(",")로 합쳐준다.

 

2. 정규식 사용

var str = "A*B*C"

str = str.replace(/\*/g, "|");

console.log(str); // "A|B|C"

/g 대신 gi 를 사용하면 대소문자 구별 없이 치환할 수 있으며,

위와 같이 특수문자 (.^*() 등)을 사용할 경우 escape(\) 문자를 붙여서 처리한다.