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

JavaScript에서 공백으로 구분된 문자열을 나누고 불필요한 쉼표와 공백 제거하는 방법

JavaScript로 개발하다 보면 쉼표와 공백이 과도하게 포함된 지저분한 문자열을 정리해야 하는 경우가 자주 있습니다. 예를 들어 다음과 같은 문자열이 있다고 가정해 보겠습니다.

var sentence = "My,,,,,,, Name,,,, is John ,,, Smith";

이처럼 중복된 쉼표와 불필요한 공백이 섞여 있는 문자열을 깔끔하게 정리하려면 정규 표현식(Regular Expression)과 함께 split() 메서드와 join() 메서드를 조합하여 사용하면 됩니다.

핵심 원리

정규 표현식 [\s]+는 하나 이상의 공백 문자(\s) 또는 쉼표(,)가 연속으로 나타나는 패턴을 의미합니다. 이 패턴을 기준으로 split()으로 문자열을 잘라낸 후, join()으로 다시 단일 쉼표를 구분자로 연결하면 중복된 쉼표와 공백이 모두 제거됩니다.

예제 코드

var sentence = "My,,,,,,, Name,,,, is John ,,, Smith";
console.log("쉼표와 공백 제거 전 = " + sentence);
sentence = sentence.split(/[\s]+/).join();
console.log("쉼표와 공백 제거 후 = ");
console.log(sentence)

프로그램 실행 방법

위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 사용합니다.

node fileName.js

실행 결과

파일 이름이 demo133.js인 경우, 실행 후 다음과 같은 출력 결과를 확인할 수 있습니다.

PS C:\Users\Amit\JavaScript-code> node demo133.js
쉼표와 공백 제거 전 = My,,,,,,, Name,,,, is John ,,, Smith
쉼표와 공백 제거 후 =
My,Name,is,John,Smith

추가 팁: trim() 활용하기

문자열의 맨 앞이나 맨 뒤에 남아 있는 공백까지 완벽하게 처리하고 싶다면, 위 코드에 trim() 메서드를 추가로 활용할 수 있습니다.

var sentence = "  My,,,,,,, Name,,,, is John ,,, Smith  ";
sentence = sentence.trim().split(/[\s]+/).join();
console.log(sentence); // My,Name,is,John,Smith

또한 결과를 배열 형태 그대로 활용하고 싶다면 join() 단계를 생략하면 됩니다. split(/[\s]+/)만 실행하면 ["My", "Name", "is", "John", "Smith"]와 같은 깔끔한 배열을 얻을 수 있어, 이후 데이터 가공 작업에 더욱 유용합니다.