자바스트립트에서 replace 메서드를 사용하면 첫 번째 문자만 치환이 되고 작동이 멈춘다.
String 클래스에 replaceAll 메서드를 추가하여 쉽게 문자를 치환 할 수 있다.
□ 방법 1. String prototype 메서드 추가
//replaceAll prototype 선언
String.prototype.replaceAll = function(org, dest) {
return this.split(org).join(dest);
}
//replaceAll 사용
var str = "Hello World";
str = str.replaceAll("o","*");
alert(str);
설명 :
str = str.split("o");
출력 : ["Hell", " W", "rld"] //해당 문자로 배열이 만들어진다.
str = str.join("*");
출력 : Hell* W*rld //배열을 해당 문자로 합친다.
□ 방법 2. 정규식 사용
var str = "Hello World";
str = str.replace(/o/g,"*");
alert(str);
설명 :
replace(/o/g,"*") : o를 *로 전체 치환한다.
replace(/o/gi,"*") : o를 *로 대/소문자 구분 없이 전체 치환한다.
g : 발생할 모든 pattern에 대한 전역 검색
i : 대/소문자 구분 안함
정규식에서 사용하는 특수문자( . ^ ( ) )를 치환할 때는 escape(\) 문자를 붙여 주어야 한다.
str = "Hello World.";
str = str.replace(/\./, "!");
출력 : Hello World!
출처 )
https://gent.tistory.com/18?category=360524
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll
'알고리즘 공부 > Javascript' 카테고리의 다른 글
[JavaScript] 문자열 특정 문자 위치 찾기 (indexOf, search) (0) | 2022.02.27 |
---|---|
[JavaScript] 문자열 자르기 (substr, substring, slice) (0) | 2022.02.27 |
[JavaScript] 문자열 구분자로 자르기 (split) (0) | 2022.02.27 |
[JavaScript] 문자열 공백 제거 방법 (trim, replace) (0) | 2022.02.27 |