메모장

코딩 테스트 - 문자열 대체 함수

용용it 2024. 3. 27. 23:18
문자열 대체(replace)함수

String.prototype.replace()

 

구문 

replace(pattern, replacement)

 

예시 
const paragraph = "Hi, my name is Dragon"

console.log(paragraph.replace("i", ''));
// H, my name is Dragon

 

참조

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/replace

 

String.prototype.replace() - JavaScript | MDN

String 값의 replace() 메서드는 pattern의 단일, 일부 혹은 모든 일치 항목이 replacement로 대치된 새로운 문자열을 반환합니다. pattern은 문자열 혹은 RegExp일 수 있습니다. replacement는 문자열이나 각 일치

developer.mozilla.org

 

 

문제점

먼저 일치하는 문자만 대체하므로 뒤에 오는 문자는 무시함.

단, g 플래그는 예외.

 

 


 

해결법1

new RegExp(letter, 'g')는 주어진 letter를 정규 표현식으로 변환하고, 

g 플래그를 추가하여 문자열 전체에서 해당 문자를 모두 찾음

 

 

예시
const paragraph = "Hi, my name is Dragon"

console.log(paragraph.replace(new RegExp("i", 'g'), ""));
// H, my name s Dragon

 

참조

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/RegExp

 

RegExp - JavaScript | MDN

RegExp 생성자는 패턴을 사용해 텍스트를 판별할 때 사용합니다.

developer.mozilla.org

 


 

해결법2

 

문자열 전역 대체(replaceAll)함수 사용.

String.prototype.replaceAll()

 

구문

 

replaceAll(pattern, replacement)

 

예시
const paragraph = "Hi, my name is Dragon"

console.log(paragraph.replaceAll("i", ''));
// H, my name s Dragon

 

참조

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll

 

String.prototype.replaceAll() - JavaScript | MDN

replaceAll() 메서드는 pattern의 모든 일치 항목이 replacement로 대체된 새 문자열을 반환합니다. pattern은 문자열 또는 RegExp일 수 있으며 replacement는 각 일치 항목에 대해 호출되는 문자열 또는 함수일

developer.mozilla.org

 

 


 

해결법 3 

 

문자열 분할(split) 함수 사용 이후 반환된 배열을 join 함수로 문자열 연결.

String.prototype.split()

Array.prototype.join()

 

구문

 

split(separator);

 

예시
const paragraph = "Hi, my name is Dragon"

console.log(paragraph.split("i"));
// ['H', ', my name ', 's Dragon']

console.log(paragraph.split("i").join(""));

 

참조

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/split

 

String.prototype.split() - JavaScript | MDN

split() 메서드는 String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눕니다.

developer.mozilla.org