🍓𝗪𝗲𝗯/𝖩𝖺𝗏𝖺𝖲𝖼𝗋𝗂𝗉𝗍

JavaScript 특정 문자 치환 방법: replaceAll 함수사용과 정규식을 사용한 replace()

안오늘 2021. 7. 10. 11:35

1. replaceAll() 함수 사용

replace는 첫번째 문자만 바꿔주기 때문에, 문자열에 있는 모든 특정문자를 치환하기 위해서는 replaceAll을 사용해야 한다.

function replaceAll(str, searchStr, replaceStr) {
    return str.split(searchStr).join(replaceStr);
}

 

2. 정규식 사용 

replace(/o/g, "*") : o를 *로 전체 치환한다.

replace(/o/gi, "*") : o를 *로 대/소문자 구분 없이 전체 치환한다.

 

g: 발생할 모든 pattern에 대한 전역 검색

i: 대/소문자 구분 안함

 

특수문자 치환 시 \를 붙여주어야 한다.

 

관련문제 : 제코베 자바스크립트 39번. 오타 수정하기

혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다. 그런데 막상 보여주려니 긴장이 되서 문장의 모든 e를 q로 잘못 친 것을 발견했습니다. 혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다. 문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해 주세요.

 

입출력

입력 : querty

출력 : euerty

 

입력 : hqllo my namq is hyqwon

출력 : hello my name is hyewon

 

// 1. 함수 사용
const word = prompt('문장을 입력하세요.');

function replaceAll(str, searchStr, replaceStr) {
    return str.split(searchStr).join(replaceStr);
}
console.log(replaceAll(word, "q", "e"));

// 2. 정규식 사용
const data = prompt('문장을 입력하세요.');
console.log(data.replace(/q/g, "e"));