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

JavaScript에서 정규 표현식으로 특수 문자를 분리하는 방법

match()와 정규 표현식으로 특수 문자 분리하기

JavaScript에서 문자열에 포함된 특수 문자를 분리하려면 match() 메서드정규 표현식(Regular Expression)을 함께 사용하면 됩니다. 기본 문법은 다음과 같습니다.

yourStringName.flatMap(anyVariableName => yourVariableName.match(/\w+|\W+/g));

여기서 사용된 정규 표현식 /\w+|\W+/g는 각각 다음과 같은 의미를 가집니다.

  • \w+ : 알파벳, 숫자, 언더스코어(_)로 이루어진 연속된 문자(단어)를 매칭합니다.
  • \W+ : 단어에 속하지 않는 문자, 즉 특수 문자를 매칭합니다.

또한 flatMap()을 사용하면 배열의 각 요소에 대해 match() 결과를 펼쳐서 하나의 새로운 배열로 만들 수 있어, 분리 작업이 한 번에 처리됩니다.

예제 데이터 준비

예를 들어, 값 사이에 특수 문자가 포함된 다음과 같은 배열이 있다고 가정해 보겠습니다.

var allNames = ['John-Smith', 'David', 'Carol%Taylor'];

예제 코드

이제 실제로 특수 문자를 기준으로 텍스트를 분리해 보겠습니다. 전체 코드는 다음과 같습니다.

var allNames = ['John-Smith', 'David', 'Carol%Taylor'];
var output = allNames.flatMap(obj => obj.match(/\w+|\W+/g));
console.log(output);

프로그램 실행 방법

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

node fileName.js

여기서는 파일 이름을 demo32.js로 사용했습니다.

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.

PS C:\Users\Amit\JavaScript-code> node demo32.js
[
   'John', '-',
   'Smith', 'David',
   'Carol', '%',
   'Taylor'
]

출력 결과를 보면 'John-Smith'는 'John'과 '-' 그리고 'Smith'로, 'Carol%Taylor'는 'Carol'과 '%' 그리고 'Taylor'로 각각 분리된 것을 알 수 있습니다. 이처럼 match()와 정규 표현식, flatMap()을 조합하면 복잡한 반복문 없이도 문자열 내의 단어와 특수 문자를 손쉽게 분리할 수 있습니다.