상세 컨텐츠

본문 제목

[Javascript] String replace/replaceAll

기술이 된 상상

by Indigo_Pure 2021. 3. 16. 15:28

본문

728x90
반응형

String객체 replace/replaceAll 메소드

replace

str.replace(regexp|substr, newSubstr|function)

첫번째 인자(regexp | substr) : 찾을 문자열

regexp : 정규식 객체 혹은 리터럴 값

substr : 문자열 값

 

str 문자열 중에 정규표현식 혹은 string 문자열과 일치하는 값을 찾는다. 

 

두번째 인자(newSubStr | function) : 대체 문자열

newSubStr : 문자열 값

function(match, p1, p2, p3, offset, string) : 변경 절차를 함수로 정의하여 실행

function replacer(match, p1, p2, p3, offset, string) { 
// p1 is nondigits, p2 digits, and p3 non-alphanumerics 
	return [p1, p2, p3].join(' - '); 
}
var newString = 'abc12345#$*%'.replace(/([^\d]*)(\d*)([^\w]*)/, replacer); 
console.log(newString); // abc - 12345 - #$*%

함수 매개 변수

match : 찾을 문자열과 일차하는 문자열 값

p1 ~ p3 : 첫번째 인자가 정규표현식 일때 포획 괄호로 묶여진 내용과 일치하는 문자열(포획 괄호 3개까지 일치 하는 값 전달)

offset : 찾은 문자열의 위치(index)

string : 입력 받은 문자열

 

반환 값

일치하는 문자열이 대체 문자열로 변환된 string

 

replaceAll

str.replaceAll(regexp|substr, newSubstr|function)

인자 값은 동일하다.

주의할 점은 정규표현식 사용 시 문자열을 모두 탐색하는 글로벌 옵션을 넣어주어야 한다. (ex. /[a-z]/g)

 

Reference

MDN String.prototype.reaplce() : developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_function_as_a_parameter

MDN String.prototype.reaplceAll() : developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll

728x90
반응형

관련글 더보기