기술이 된 상상
[Javascript] String replace/replaceAll
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
반응형