[JS] replace() :: 문자열 변환/치환하기

운동하는 개발자·2022년 9월 13일
0
post-thumbnail

Overview

String.replace() : 문자열 내에서 특정 문자를 다른 문자로 치환할때 사용

문법(Syntax)

str.replace(regexp|substr, newSubstr|function)

매개변수(Parameter)

  1. regexp|substr : 정규식 객체 또는 문자열로 치환하기 위해 찾는 매개변수
  2. 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>

코딩테스트 문제

Q. 오타 수정하기

혜원이는 평소 영타가 빠르고 정확한 것을 친구들에게 자랑하고 다녔습니다. 반 친구들이 혜원이의 타자 속도가 빠르다는 것을 모두 알게 되자 혜원이는 모두의 앞에서 타자 실력을 보여주게 됩니다.

그런데 막상 보여주려니 긴장이 되서 모든 e를 q로 잘못 친 것을 발견했습니다.
혜원이는 프로그램을 돌려 재빠르게 모든 q를 e로 바꾸는 프로그램을 작성하려고 합니다.

'문장이 입력되면 모든 q를 e로 바꾸는 프로그램을 작성해 주세요.'

입출력

입력 : querty
출력 : euerty

입력 : hqllo my namq is hyqwon
출력 : hello my name is hyewon

A. 해결방안

<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>
profile
강인한 체력이 최고의 무기다.

0개의 댓글