자바스크립트 replace() 사용하기


안녕하세요
고코더 입니다.

replace 는 서버언어에서 가장 유용한 함수 입니다.
특정문자를 치환해주는 가장 쉬운 방법이죠

자바스크립트도 당연히 replace.가  존재하는데 
문제는 문자열을 하나만 바꿔 줍니다.


replace() 사용법



▼ replace() 기본 사용법
1
2
var str = "gocoder"
str.replace("o","x");
cs
▼ 사용법
"문자열".replace("대상문자","바뀌어 보여질 문자")

▼ 결과 값


이렇게 replace는 하나의 문자만 치환하고
종료 합니다. 그래서 서버사이드 언어에서 사용하던 
그 replaceall이 아니죠.
그래서 방법이 필요 합니다.




replaceAll() 함수로 사용하기


우리에겐 replaceall 이 필요합니다. 

서버사이드 언어처럼 replaceAll을 사용하려면
아래 함수를 이용하면 됩니다.

▼ replaceAll 함수 
1
2
3
4
5
6
function replaceAll(str, searchStr, replaceStr) {
  return str.split(searchStr).join(replaceStr);
}
 
var str = "gocoder"
replaceAll(str,"o","x");
cs

▼ 사용법
replaceAll("문자열","찾을 문자열","대체할 문자열")

▼ 결과 값




replace()로 정규식을 이용하기


replaceall 함수를 정의하기가 싫고
소스가 너무 지저분 해진다면

▼replace()를 정규식으로 사용하시면 됩니다.
아래 코드를 실행하면
1
"gocoder".replace(/o/gi,"x");
cs

▼사용법
replace(/대상문자열/gi, "x");

▼ 결과 값


이렇게 간단하게 replaceall을 구현 할 수 있습니다.
사실 replace 기능에 정규식을 담아 쓰는게 표준이긴 합니다.


마무리


replaceall 이 기본 함수가 아닌게 아쉽습니다.


댓글을 달아 주세요