Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 한 문자열에서 다른 문자열에 포함된 문자 제거하기

JavaScript에서 하나의 문자열에 포함된 특정 문자들을 다른 문자열에서 제거하고 싶은 경우가 있습니다. 예를 들어, 다음과 같은 두 개의 문자열이 있다고 가정해 보겠습니다.

var originalName = "JOHNDOE";
var removalName = "JOHN"

여기서 우리가 해야 할 작업은 첫 번째 문자열(JOHNDOE)에서 두 번째 문자열(JOHN)에 해당하는 문자들을 제거하는 것입니다.

해결 방법: replace()와 reduce() 활용하기

이 문제는 replace() 메서드와 reduce() 메서드를 함께 사용하면 간단하게 해결할 수 있습니다. 먼저 제거할 문자열을 개별 문자로 분리한 뒤, reduce()를 통해 원본 문자열에서 각 문자를 순차적으로 제거하는 방식입니다.

예제 코드

const removeCharactersFromAString =
(removalName, originalName) => removalName.split('').reduce((obj, v) => obj.replace(v, ''), originalName);

var originalName = "JOHNDOE";
var removalName = "JOHN"
console.log(removeCharactersFromAString(removalName, originalName));

코드 설명

  • split(''): 제거할 문자열을 한 글자씩 배열로 분리합니다.
  • reduce(): 배열의 각 문자를 순회하면서 원본 문자열에서 해당 문자를 제거합니다.
  • replace(v, ''): 일치하는 첫 번째 문자를 빈 문자열로 대체하여 삭제합니다.

프로그램 실행 방법

위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 입력합니다.

node fileName.js

여기서는 파일 이름이 demo93.js라고 가정하겠습니다.

실행 결과

프로그램을 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.

PS C:\Users\Amit\JavaScript-code> node demo93.js
DOE

출력 결과를 보면 원본 문자열 JOHNDOE에서 JOHN에 포함된 문자들이 모두 제거되고 DOE만 남은 것을 확인할 수 있습니다. 이처럼 replace()reduce()를 조합하면 복잡한 반복문 없이도 간결하게 문자열 조작 작업을 처리할 수 있습니다.