자바스크립트에서 문자열에 포함된 불필요한 공백을 제거하려면 trim() 메서드와 정규 표현식을 함께 사용해야 합니다. trim()은 문자열의 앞뒤 공백만 제거하고, 정규 표현식을 활용하면 문자열 중간의 공백까지 한 번에 처리할 수 있습니다.
공백이 포함된 원본 문자열
먼저 trim() 적용 전, 공백이 포함된 문자열은 다음과 같습니다.
var sentence = "My name is John Smith ";
예제 코드
아래 코드는 정규식 /\s+/g를 이용해 문자열 내 모든 공백을 제거한 뒤, trim()으로 남아 있는 공백까지 정리하는 예제입니다.
var sentence = "My name is John Smith ";
console.log("The actual value=");
console.log(sentence);
var originalSentence = sentence.replace(/\s+/g, '').trim();
var afterRemovingTheSpace = originalSentence.trim();
console.log("After removing the spaces=");
console.log(afterRemovingTheSpace);
프로그램 실행 방법
위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 입력합니다.
node fileName.js
여기서는 파일 이름이 demo90.js인 경우를 가정합니다.
실행 결과
코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.
PS C:\Users\Amit\JavaScript-code> node demo90.js The actual value= My name is John Smith After removing the spaces= MynameisJohnSmith
실행 결과를 보면 원본 문자열의 모든 공백이 제거되어 "MynameisJohnSmith"처럼 단어가 모두 붙어 출력된 것을 알 수 있습니다.
참고: 단어 사이 공백을 하나만 유지하고 싶다면?
모든 공백을 없애는 대신, 연속된 여러 공백을 하나로 줄이고 싶다면 치환 값을 빈 문자열('')이 아닌 공백(' ')으로 지정하면 됩니다.
var result = sentence.replace(/\s+/g, ' ').trim(); // "My name is John Smith"
이렇게 하면 단어 사이의 공백은 그대로 유지되면서 앞뒤의 불필요한 공백만 깔끔하게 제거됩니다.