현재 문자열에서 지정된 문자열 또는 정규표현식에 일치하는 일부 또는 전부가 지정된 대체 문자열(또는 함수의 반환값)로 교체된 새로운 문자열을 반환한다.
str.replace(regexp, replaceString)
현재 문자열에서 정규표현식에 일치하는 일부(또는 모든) 문자열을 지정된 문자열로 대체하여 새로운 문자열을 반환한다.
str.replace(searchString, replaceString)
현재 문자열에서 첫 번째 매개변수인 찾을 문자열에 일치하는 첫 문자열을 두 번째 매개변수인 바꿀 문자열로 대체하여 새로운 문자열로 반환한다.
str.replace(regexp, function)
첫 번째 매개변수인 정규표현식에 일치하는 일부(또는 모든) 문자열을 두 번째 매개변수인 바꿀 로직이 포함된 함수에서 반환되는 값으로 대체된다.
첫 번째 매개변수를 찾을 문자열로 지정해도 되며 이 경우에는 일치하는 첫 번째만 대상만 대체한다.
바꿀 문자열을 검색할 문자열을 지정한다.
찾을 문자열에 대한 패턴을 지정한 정규표현식 객체를 지정한다.
바꿀 문자열을 지정한다. 찾는 방법을 문자열로 지정한 경우에는 일치하는 첫 번째 문자열만 대체된다.
다음의 특수 대체 패턴이 사용될 수 있다.
패턴 | 코드 | 결과 | 설명 |
---|---|---|---|
"$$" | str.replace(/(e)/g, "$$") | "h$llo" | 일치하는 문자열을 '$' 로 바꾼다. |
"$&" | str.replace(/(e)/g, "$&xxx") | "hexxxllo" | 일치하는 문자열 뒤에 지정 문자를 추가한다. |
"$`" | str.replace(/(e)/g, "$`xxx") | "hhxxxllo" | 일치하는 문자열의 앞에 오는 문자열 부분을 삽입한다. "xxx" 는 앞에 오는 문자열("h" )에 덧붙인 문자열이다. |
"$'" | str.replace(/(e)/g, "$'xxx") | "hlloxxxllo" | 일치하는 문자열의 뒤에 오는 문자열 부분을 삽입한다. "xxx" 는 뒤에 오는 문자열("llo" )에 덧붙인 문자열이다. |
"$n" | str.replace(/(e)|(o)/g, "$1$1$2*") | "hee*llo*" | 캡처 그룹에서 예제에서 첫 번째 매개변수의 유형이 |
"$<name>" | str.replace(/(?<s1>(e))|(?<s2>(o))/g, "$<s1>$<s1>$<s2>*") | "hee*llo*" | "$n" 에서 n 대신에 그룹 이름을 사용한 차이일 뿐 결과는 동일하다. |
바꿀 문자열을 반환하는 함수를 지정한다. 찾는 방법을 문자열로 지정한 경우에는 일치하는 첫 번째 문자열만 대체된다.
다음 인수와 함께 호출된다.
match
p1, p2, ..., pN
RegExp
객체인 경우에 캡처 그룹에서 찾은 n
번째 문자열을 나타낸다. 정규표현식 패턴이 1
개 이상의 일치를 찾는 다음과 같은 패턴일 경우 각각의 일치하는 n
번째 문자열을 의미한다.
/(\a+)(\b+)/
즉 \a+
는 p1
, \b+
는 p2
가 되는 셈이다.
offset
"abcd"
인 경우 일치하는 문자열이 "cd"
일 때 이 인수의 값은 2
가 된다.string
replace()
메소드가 실행되는 대상 문자열을 나타낸다.groups
현재 문자열에서 지정된 매개변수에 따라 일치하는 일부 또는 모든 부분이 바뀌어진 새로운 문자열을 반환한다.