JavaScript에서 특수 문자 시퀀스 기준으로 문자열 분리하기
문자열을 다루다 보면 특정 구분자(특수 문자 시퀀스)를 기준으로 하나의 문자열을 여러 개의 부분 문자열로 나눠야 하는 경우가 자주 발생합니다. 예를 들어 다음과 같은 문자열이 있다고 가정해 보겠습니다.
var fullName = " John <----> Smith ";
위 문자열에서 <---->라는 특수 문자 시퀀스를 기준으로 이름과 성을 분리하려면 정규 표현식(Regex)과 split() 메서드를 함께 사용하면 됩니다.
기본 문법
var anyVariableName = (/\s*<---->\s*/g);
var result = yourVariableName.trim().split(anyVariableName);
여기서 정규 표현식 /\s*<---->\s*/g는 <----> 앞뒤에 있을 수 있는 공백(\s*)까지 함께 매칭합니다. 덕분에 분리된 각 부분 문자열에 불필요한 공백이 남지 않아 더욱 깔끔한 결과를 얻을 수 있습니다.
전체 코드 예제
var fullName = " John <----> Smith ";
console.log("The Value=" + fullName);
var regularExpression = (/\s*<---->\s*/g);
var separateName = fullName.trim().split(regularExpression);
console.log(separateName);
실행 방법
Node.js 환경에서 위 프로그램을 실행하려면 터미널에 다음 명령어를 입력합니다.
node fileName.js
예를 들어 파일 이름이 demo39.js라면 아래와 같이 실행할 수 있습니다.
node demo39.js
실행 결과
프로그램을 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.
PS C:\Users\Amit\JavaScript-code> node demo39.js
The Value= John <----> Smith
[ 'John', 'Smith' ]
코드 핵심 정리
- trim(): 문자열 양 끝의 공백을 제거하여 깔끔한 입력값을 만듭니다.
- split(regularExpression): 정규 표현식 패턴과 일치하는 구간을 기준으로 문자열을 배열로 분리합니다.
- 결과: 공백이 모두 제거된 ['John', 'Smith'] 배열이 반환됩니다.
이처럼 정규 표현식과 split() 메서드를 조합하면 복잡한 구분자가 포함된 문자열도 손쉽게 분리할 수 있습니다. 실무에서는 CSV 파싱, 로그 데이터 처리 등 다양한 상황에서 유용하게 활용할 수 있습니다.