티스토리 뷰
이 페이지는 JavaScript의 replace에 대해 설명하고 있다.
# replace
String.replace(oldValue, newValue)
const result = 'kkuma'.replace('k', a');
console.log(result);
result의 값은 무엇일까?
위의 코드는 ‘kkuma’의 ‘k’를 모두 ‘a’로 바꾸고 싶었던 생각을 반영한 코드이다.
그러나, result는 ‘akuma’로 생각했던 값이 아닌 가장 앞에 k 하나만 변경된 값이었다.
해결방안으로는 두 가지를 제안해본다.
1. 정규표현식
replace에 정규표현식을 이용하면 replaceAll의 역할을 할 수 있다. 정규표현식 참조
const result = 'kkuma'.replace(/k/gi,'a');
console.log(result);
> 'aauma'
g: 전역 검색 (global)
i: 대소문자 구분 없는 검색 (ignore Case)
m: 다중행 검색 (multi-line)
u: 유니코드 (unicode)
2. replaceAll
그럼 혹시 replaceAll 이라는 메서드가 있나?
놉. 제공되는 것은 없으나 만들어 사용할 수는 있다.
const replaceAll = (str, a, b) => {
return str.split(a).join(b);
}
const result = replaceAll('kkuma', 'k', 'a');
console.log(result);
> 'aauma'
'Programming > JavaScript' 카테고리의 다른 글
[JavaScript] 배열 요소 수정/삭제 함수, splice() (0) | 2020.01.03 |
---|---|
[JavaScript] 배열 정렬 함수, sort() (1) | 2019.10.08 |
[JavaScript] Hoisting (0) | 2019.08.19 |
[JavaScript] Compare Version Numbers (0) | 2019.06.21 |
[JavaScript] Pass By Value / Pass By Reference (0) | 2019.06.11 |
댓글