JavaScript로 개발하다 보면 문자열 안에서 특정 구분자를 기준으로 원하는 부분만 추출해야 하는 경우가 자주 있습니다. 이번 글에서는 split() 메서드를 활용하여 두 개의 같은 문자(콜론) 사이에 있는 부분 문자열을 가져오는 방법을 알아보겠습니다.
문제 상황
예를 들어, 다음과 같이 콜론(:)이 여러 개 포함된 문자열이 있다고 가정해 보겠습니다.
var values="This is:the first program in JavaScript:After that I will do Data Structure program";
여기서 첫 번째 콜론과 두 번째 콜론 사이에 있는 부분 문자열을 추출하고 싶습니다. 즉, 기대하는 출력 결과는 다음과 같습니다.
the first program in JavaScript
해결 방법: split() 메서드 활용
이 문제는 split() 메서드를 사용하면 간단하게 해결할 수 있습니다. split()은 지정한 구분자를 기준으로 문자열을 잘라 배열 형태로 반환합니다. 따라서 콜론을 구분자로 지정하면, 콜론 사이에 있던 문자열들이 배열의 요소로 분리됩니다.
예제 코드
var values="This is:the first program in JavaScript:After that I will do Data Structure program";
var result=[];
result=values.split(":");
console.log(result[1]);코드 설명
values.split(":")를 호출하면 문자열이 콜론을 기준으로 세 조각으로 나뉘어 다음과 같은 배열이 생성됩니다.
result[0]: "This is"result[1]: "the first program in JavaScript"result[2]: "After that I will do Data Structure program"
배열 인덱스는 0부터 시작하기 때문에, 첫 번째 콜론과 두 번째 콜론 사이의 문자열은 result[1]에 저장됩니다. 이 값을 console.log()로 출력하면 원하는 결과를 얻을 수 있습니다.
프로그램 실행 방법
위 코드를 Node.js 환경에서 실행하려면 터미널에서 다음 명령어를 입력합니다.
node fileName.js
예를 들어 파일 이름이 demo273.js라면 아래와 같이 실행하면 됩니다.
node demo273.js
실행 결과
프로그램을 실행하면 콘솔에 다음과 같은 출력 결과가 표시됩니다.
PS C:\Users\Amit\javascript-code> node demo273.js the first program in JavaScript
마무리
이처럼 split() 메서드를 사용하면 복잡한 정규식 없이도 특정 문자 사이의 부분 문자열을 손쉽게 추출할 수 있습니다. 참고로 정규식 기반의 match() 메서드나 indexOf()와 slice()를 조합하는 방법도 있지만, 단순한 구분자 기반 추출에는 split()이 가장 직관적이고 가독성이 좋은 선택입니다.