문자열 바꾸기 (replace, 정규식 치환)

Eom Deokhyeon·2022년 12월 14일
0

JavaScript

목록 보기
1/2
post-thumbnail
post-custom-banner

1. replace()로 문자열 치환

📌 Javascript 내장 기능 중 replaceAll()은 없다고 생각하는 것이 좋다. ECMA-262 12th(2021) 스펙을 기준으로 replaceAll() 기능이 추가되었기 때문에 최신을 바탕으로 하는 개발 환경이 아니라면 replaceAll()을 사용하기가 어렵다.

let str = 'Hello word, Java';

str = str.replace('Java, Javascript');
console.log(str);               

💡 결과

Hello world, Javascript


📌 바꾸려는 문자열이 여러개가 있어도, 가장 먼저 찾은 첫번째 문자열만 변환된다.

let str = 'Hello word, Java, Java, Java';

str = str.replace('Java, Javascript');
console.log(str);               

💡 결과

Hello world, Javascript, Java, Java

2. 정규식을 이용하여 모든 문자열 치환

📌 바꾸려는 문자열이 여러개 있고, 모든 문자열을 바꾸고 싶을 때 정규식을 이용하면 모든 문자열을 변경할 수 있다. 정규식은 /Pattern/flag 형태로 구성되고, 찾으려는 문자열에 따옴표를 입력하지 않는다.

let str = 'Hello world, Java, Java, Java';

str = str.replace(/Java/g, 'Javascript');
console.log(str);

💡 결과

Hello world, Javascript, Javascript, Javascript


📌 대소문자를 구분하지 않고 문자열을 치환하고 싶으면 flag에 i를 추가한다.

let str = 'Hello world, Java, java, JAVA';

str = str.replace(/java/gi, 'Javascript');
console.log(str);

💡 결과

Hello world, Javascript, Javascript, Javascript

3. 문자열에 있는 숫자 치환

📌 문자열에 있는 모든 숫자를 제거하고 싶을 때 숫자를 빈 문자열로 치환하면 된다. [0-9]는 0부터 9까지의 숫자를 의미한다.

let str = 'Ja012va345scr67ipt89';

str = str.replace(/[1-9]/g, '');
console.log(str);

💡 결과

Javascript


📌 반대로 숫자를 제외한 문자열을 치환하고 싶을 때 캐럿(^)을 사용한다. 캐럿은 !(Not)과 비슷하다. [^0-9]은 숫자를 제외한 문자열 (a-z, A-Z)가 해당된다.

let str = 'Ja012va345scr67ipt89';

str = str.replace(/[^1-9]/g, '');
console.log(str);

💡 결과

0132456789
post-custom-banner

0개의 댓글