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

JavaScript에서 문자열의 공백을 밑줄(_)로 바꾸는 방법

JavaScript로 개발하다 보면 문자열에 포함된 공백을 밑줄(_) 같은 다른 문자로 치환해야 하는 경우가 종종 있습니다. 예를 들어 파일명 생성, URL 슬러그(slug) 처리, 검색 키워드 정규화 등이 대표적인 활용 사례입니다.

split()과 join()을 활용한 공백 치환

문자열의 공백을 밑줄로 바꾸는 가장 간단한 방법은 split()join() 메서드를 함께 사용하는 것입니다. 먼저 split(' ')으로 문자열을 공백 기준으로 배열로 나눈 뒤, join('_')으로 각 요소를 밑줄로 이어 붙이면 됩니다.

예를 들어 다음과 같은 문자열이 있다고 가정해 보겠습니다.

var sentence = "My Name is David Miller I live in AUS";

예제 코드

아래는 위 문자열의 공백을 밑줄로 치환하는 전체 코드입니다.

var sentence = "My Name is David Miller I live in AUS";
var withUnderscore = sentence.split(' ').join('_');
console.log("원본 문자열=")
console.log(sentence);
console.log("공백을 밑줄로 치환한 결과=")
console.log(withUnderscore);

프로그램 실행 방법

위 프로그램을 실행하려면 Node.js 환경에서 아래 명령어를 입력합니다. 파일 이름은 본인이 저장한 이름으로 지정하면 되며, 여기서는 예시로 demo250.js라는 파일명을 사용했습니다.

node fileName.js

실행 결과

코드를 실행하면 콘솔에 아래와 같은 출력 결과가 나타납니다.

PS C:\Users\Amit\javascript-code> node demo250.js
원본 문자열=
My Name is David Miller I live in AUS
공백을 밑줄로 치환한 결과=
My_Name_is_David_Miller_I_live_in_AUS

참고: replace()와 정규식을 사용하는 방법

동일한 작업은 replace() 메서드와 정규식을 조합해서도 수행할 수 있습니다. 정규식에 전역 플래그(g)를 함께 사용하면 문자열 내 모든 공백이 한 번에 치환됩니다.

var sentence = "My Name is David Miller I live in AUS";
var result = sentence.replace(/ /g, '_');
console.log(result); // My_Name_is_David_Miller_I_live_in_AUS

두 방법 모두 동일한 결과를 반환하지만, split().join() 방식은 정규식 없이 직관적으로 이해하기 쉽고, replace() 방식은 탭이나 줄바꿈 등 다양한 공백 문자를 \s 패턴으로 한 번에 처리할 수 있다는 장점이 있습니다. 상황에 맞게 적절한 방법을 선택해 사용하시기 바랍니다.