String.replace() : 문자열 내에서 특정 문자를 다른 문자로 치환할때 사용
str.replace(regexp|substr, newSubstr|function)
<script>
let str = 'Hello Everyone';
let newStr = str.replace('e', '2');
console.log(str); // Hello Everyone
console.log(newStr); // He2llo Everyone
</script>
<script>
let str = 'Hello Everyone';
let newStr = str.replace(/e/g, '2');
console.log(newStr); // H2llo Ev2ryon2
let newStr2 = str.replace(/e/gi, '2');
console.log(newStr2); // H2llo 2v2ryon2
</script>
정규식
g : 전체 문자열을 치환 (global)
i : 영문 대/소문자를 무시하고 일치하는 패턴 검색하여 치환 (ignore)
<script>
let str = 'Hello Everyone';
function replaceAll(str, searchStr, replaceStr) {
return str.split(searchStr).join(replaceStr);
}
let str2 = replaceAll(str, 'e', '2')
console.log(str2); // H2llo Ev2ryon2
</script>
혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다.
그런데 막상 보여주려니 긴장이 되서 모든 e를 q로 잘못 친 것을 발견했습니다.
혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다.
'문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해 주세요.'
입출력
입력 : querty
출력 : euerty
입력 : hqllo my namq is hyqwon
출력 : hello my name is hyewon
<script>
// 1. 정규식 이용
const word = prompt('단어를 입력해주세요.');
console.log(word.replace(/q/gi, 'e'));
// 2. 함수 이용
function replaceAll(str, searchStr, replaceStr) {
return str.split(searchStr).join(replaceStr);
}
console.log(replaceAll(word, "q", "e"))
</script>