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

JavaScript에서 특수 문자를 찾아 다른 문자로 교체하는 방법

문자열을 다룰 때 특정 특수 문자를 다른 문자나 공백으로 바꿔야 하는 경우가 자주 발생합니다. 이번 글에서는 JavaScript의 replace() 메서드와 정규식(Regex)을 활용해 문자열 안의 특수 문자를 손쉽게 교체하는 방법을 알아보겠습니다.

예제 문자열 준비

먼저 특수 문자가 포함된 다음과 같은 문자열이 있다고 가정해 보겠습니다.

var sentence = '<My<Name<is<John<Doe';

이 문자열에는 <라는 특수 문자가 여러 개 포함되어 있습니다. 우리는 이 특수 문자 뒤에 공백을 추가하여 < My< Name< is< John< Doe 형태로 변환하는 것이 목표입니다.

replace()와 정규식을 활용한 교체 방법

JavaScript의 replace() 메서드는 정규식과 함께 사용하면 강력한 문자열 치환 기능을 제공합니다. 아래 예제 코드를 살펴보겠습니다.

var sentence = '<My<Name<is<John<Doe';
var regularExpresion = /<(?!\s)/g;
var result = sentence.replace(regularExpresion, "< ");
console.log(result);

코드 설명

  • /<(?!\s)/g : 부정형 전방 탐색(negative lookahead) (?!\s)을 사용하여, < 문자 뒤에 공백이 오지 않는 경우만 매칭합니다. 이미 공백이 있는 경우는 중복으로 교체되지 않습니다.
  • g 플래그 : 전역(global) 플래그로, 문자열 내에서 조건에 맞는 모든 특수 문자를 한 번에 교체합니다.
  • replace(정규식, "< ") : 매칭된 < 문자를 <와 공백이 결합된 형태로 교체합니다.

프로그램 실행하기

위 코드를 실행하려면 Node.js 환경에서 다음 명령어를 입력하면 됩니다.

node fileName.js

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

실행 결과

프로그램을 실행하면 콘솔에 다음과 같은 출력 결과가 표시됩니다.

PS C:\Users\Amit\javascript-code> node demo271.js
< My< Name< is< John< Doe

출력 결과를 보면 각 < 특수 문자 뒤에 공백이 성공적으로 추가된 것을 확인할 수 있습니다.

마무리

이처럼 replace() 메서드와 정규식을 조합하면 복잡한 조건의 문자열 치환 작업도 간단하게 처리할 수 있습니다. 특히 부정형 전방 탐색과 같은 정규식 기법을 익혀두면 실무에서 문자열을 가공할 때 큰 도움이 됩니다.