문자열을 다루다 보면 첫 번째 슬래시(/) 앞부분만 다른 값으로 바꿔야 하는 경우가 있습니다. 이 글에서는 JavaScript의 replace() 메서드와 정규 표현식을 활용해 첫 번째 슬래시 앞의 문자열을 손쉽게 교체하는 방법을 알아보겠습니다.
예제 문자열 준비
먼저 슬래시가 포함된 다음과 같은 문자열이 있다고 가정해 보겠습니다.
var queryStringValue = "welcome/name/john/age/32";
여기서 목표는 첫 번째 슬래시 앞에 있는 welcome 부분을 index로 교체하는 것입니다.
정규 표현식으로 해결하기
첫 번째 슬래시 앞의 문자열만 교체하려면 replace() 메서드와 함께 정규 표현식을 사용합니다. 핵심은 다음 패턴입니다.
var regularExpression = /^[^/]+/;
이 정규 표현식의 의미를 살펴보면 다음과 같습니다.
^: 문자열의 시작을 의미합니다.[^/]+: 슬래시(/)가 아닌 문자가 하나 이상 연속으로 나오는 구간을 의미합니다.
즉, 문자열 시작부터 첫 번째 슬래시 직전까지의 모든 문자를 매칭하게 됩니다.
전체 코드
var regularExpression = /^[^/]+/;
var queryStringValue = "welcome/name/john/age/32";
var replacedValue = queryStringValue.replace(regularExpression, 'index');
console.log("Original value=" + queryStringValue);
console.log("After replacing the value=" + replacedValue);프로그램 실행하기
Node.js 환경에서 위 코드를 실행하려면 다음 명령어를 사용합니다. 파일 이름은 본인이 저장한 이름으로 지정하면 됩니다. 여기서는 demo245.js로 저장했다고 가정합니다.
node demo245.js
실행 결과
위 프로그램을 실행하면 콘솔에 다음과 같은 출력 결과가 나타납니다.
PS C:\Users\Amit\javascript-code> node demo245.js Original value=welcome/name/john/age/32 After replacing the value=index/name/john/age/32
출력 결과를 보면 첫 번째 슬래시 앞의 welcome이 index로 성공적으로 교체되었고, 나머지 문자열은 그대로 유지된 것을 확인할 수 있습니다.
마무리
이처럼 ^[^/]+ 패턴과 replace() 메서드를 조합하면 첫 번째 슬래시 앞의 문자열만 간단히 교체할 수 있습니다. URL 경로나 쿼리 문자열을 파싱할 때 유용하게 활용할 수 있으니 참고해 보시기 바랍니다.