티스토리 뷰

이 페이지는 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의 역할을 할 수 있다. 정규표현식 참조

 

정규 표현식

정규 표현식은 문자열에 나타는 특정 문자 조합과 대응시키기 위해 사용되는 패턴입니다. 자바스크립트에서, 정규 표현식 또한 객체입니다.  이 패턴들은 RegExp의 exec 메소드와 test 메소드  ,그리고 String의  match메소드 , replace메소드 , search메소드 ,  split 메소드와 함께 쓰입니다 . 이 장에서는 자바스크립트의 정규식에 대하여 설명합니다.

developer.mozilla.org

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'
댓글
최근에 올라온 글
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Total
Today
Yesterday