NATIVE

settings_applicationsObject  >   settings_applicationsString  >   settings_applications[[Prototype]]

NATIVE

Editing
  • account_tree
  • bug_report

stringstrreplace(stringsearchString | RegExpregexp, stringreplaceString | Functioncallback)

현재 문자열에서 지정된 문자열 또는 정규표현식에 일치하는 일부 또는 전부가 지정된 대체 문자열(또는 함수의 반환값)로 교체된 새로운 문자열을 반환한다.

구문

형식
str.replace(regexp, replaceString)

현재 문자열에서 정규표현식에 일치하는 일부(또는 모든) 문자열을 지정된 문자열로 대체하여 새로운 문자열을 반환한다.

형식
str.replace(searchString, replaceString)

현재 문자열에서 첫 번째 매개변수인 찾을 문자열에 일치하는 첫 문자열을 두 번째 매개변수인 바꿀 문자열로 대체하여 새로운 문자열로 반환한다.

형식
str.replace(regexp, function)

첫 번째 매개변수인 정규표현식에 일치하는 일부(또는 모든) 문자열을 두 번째 매개변수인 바꿀 로직이 포함된 함수에서 반환되는 값으로 대체된다.

첫 번째 매개변수를 찾을 문자열로 지정해도 되며 이 경우에는 일치하는 첫 번째만 대상만 대체한다.

매개 변수

stringsearchString필수

바꿀 문자열을 검색할 문자열을 지정한다.

또는 다른 타입
RegExpregexp필수

찾을 문자열에 대한 패턴을 지정한 정규표현식 객체를 지정한다.

stringreplaceString필수

바꿀 문자열을 지정한다. 찾는 방법을 문자열로 지정한 경우에는 일치하는 첫 번째 문자열만 대체된다.

다음의 특수 대체 패턴이 사용될 수 있다.

대상 문자열 예: const str = "hello"
패턴코드결과설명
"$$"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*"

캡처 그룹에서 n번째 일치하는 값을 삽입한다. n번째 일치하는 위치에 대체 삽입한다.

예제에서 "e""o" 두 개의 문자가 캡처 그룹이고 찾은 문자열은 각각 그룹의 n번째 값으로 대체된다. 결국 같은 값이지만 "$1" 같은 경우에는 두번 삽입이 되었다. 그리고 일치하는 모든 문자열 뒤에 "*"가 추가되었다.

첫 번째 매개변수의 유형이 RegExp 객체인 경우에만 사용이 가능하다.

"$<name>"str.replace(/(?<s1>(e))|(?<s2>(o))/g, "$<s1>$<s1>$<s2>*")"hee*llo*""$n"에서 n 대신에 그룹 이름을 사용한 차이일 뿐 결과는 동일하다.
또는 다른 타입
Functioncallback필수

바꿀 문자열을 반환하는 함수를 지정한다. 찾는 방법을 문자열로 지정한 경우에는 일치하는 첫 번째 문자열만 대체된다.

다음 인수와 함께 호출된다.

match
일치하는 하위 문자열을 나타낸다.
p1, p2, ..., pN
첫 번째 매개변수(찾는 방법)의 유형이 RegExp 객체인 경우에 캡처 그룹에서 찾은 n번째 문자열을 나타낸다. 정규표현식 패턴이 1개 이상의 일치를 찾는 다음과 같은 패턴일 경우 각각의 일치하는 n번째 문자열을 의미한다.
/(\a+)(\b+)/

\a+p1, \b+p2가 되는 셈이다.

offset
일치하는 문자열의 인덱스를 나타낸다. 예를 들어서 현재 문자열일 "abcd"인 경우 일치하는 문자열이 "cd"일 때 이 인수의 값은 2가 된다.
string
현재 replace() 메소드가 실행되는 대상 문자열을 나타낸다.
groups
그룹 이름을 키(key)로 일치하는 부분을 값(value)으로 갖는 객체를 나타낸다.

반환

stringstr

현재 문자열에서 지정된 매개변수에 따라 일치하는 일부 또는 모든 부분이 바뀌어진 새로운 문자열을 반환한다.

버전 명세

ECMAScript 2024(15th Edition)
#sec-string.prototype.replace

지원 웹브라우저