자바스크립트 replace / 문자열 변경하기
컨텐츠 정보
- 16,300 조회
- 0 추천
- 목록
본문
- replace 란?
replace 는 문자열중 조건에 맞는 문자열을 다른 문자열로 변경하여 리턴하는 함수입니다. |
- 자바스크립트 replace 사용방법
"[문자열]".replace("[변경할 문자열 패턴]", "[새로운 문자열]"); |
- 예제 1
변수 str을 생성하여 문자열 "홍길동,일지매,임꺽정" 을 담으시오.
|
- 예제 1 소스
var str = "홍길동,일지매,임꺽정"; |
- str 변수 확인
document.write("str : " + str + "<br>"); |
결과 |
str : 홍길동,일지매,임꺽정 |
- 예제 2
replace를 이용하여 str변수의 ","를 "|"로 바꾸시오.
|
- 예제 2 소스
var str = str.replace(",", "|"); |
- str 변수 확인
document.write("str : " + str + "<br>"); |
결과 |
str : 홍길동/일지매,임꺽정 |
[참고사항] 예제 2 의 결과가 예상과 다른 이유
예제 2 를 보면 replace 를 이용하여 ","를 "|"로 바꾸었으나 가장 앞에 존재하는 ","만 바뀌었습니다. 이는 자바스크립트 replace의 특성으로 자바스크립트 replace는 1회만 문자열을 바꾸기 때문에 그렇습니다. 따라서 모든 문자열을 바꾸려면 아래와 같이 하셔야 합니다. |
- 자바스크립트 모든 문자열 replace 사용방법 (replaceAll)
"[문자열]".replace(/[변경할 문자열 패턴]/g, "[새로운 문자열]"); |
- 예제 3
문자열 "홍길동,일지매,임꺽정"의 모든 ","를 replace를 이용하여 "|"로 바꾸시오.
|
- 예제 3 소스
document.write("홍길동,일지매,임꺽정".replace(/,/g, "|") + "<br>"); |
결과 |
홍길동|일지매|임꺽정 |
[참고사항] 모든 문자열 패턴이 변경된 이유
replace문 안에 정규식을 사용하여 모든 문자열 패턴이 변경되었습니다. [변경될 문자열 패턴] 을 /[변경될 문자열 패턴]/으로 정규식 형태로 변환하였으며, g옵션을 붙였습니다. /[변경될 문자열 패턴]/g 에서 g는 모든 문자열 패턴을 검색하라는 의미입니다. 따라서 replace을 모든 문자열을 대상으로 실행하게 된 것입니다. |
관련자료
-
링크