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

JavaScript로 문자열에서 모든 공백 제거하기

문제 정의

문자열을 입력받아 모든 공백이 제거된 새로운 문자열을 반환하는 JavaScript 함수를 작성해야 합니다. 즉, 문자열 내의 모든 공백 문자를 빈 문자열('')로 대체하는 것이 목표입니다.

방법 1: 반복문을 활용한 구현

가장 기본적인 접근 방식은 문자열을 한 글자씩 순회하면서 공백이 아닌 문자만 결과 문자열에 이어 붙이는 것입니다.

const str = 'some random string ex a m pl e';
const removeSpaces = (str = '') => {
  let res = '';
  for(let i = 0; i < str.length; i++){
    const el = str[i];
    if(el !== ' '){
      res += el;
      continue;
    };
  };
  return res;
};
console.log(removeSpaces(str));

출력 결과

somerandomstringexample

방법 2: replace() 메서드를 활용한 간결한 구현

실무에서는 정규 표현식과 replace() 메서드를 조합하는 것이 훨씬 간결하고 효율적입니다.

const str = 'some random string ex a m pl e';
const removeSpaces = (str = '') => str.replace(/\s/g, '');
console.log(removeSpaces(str)); // somerandomstringexample

여기서 /\s/g는 스페이스뿐만 아니라 탭, 줄바꿈 등 모든 종류의 공백 문자를 의미하며, g(global) 플래그는 문자열 전체에서 일치하는 모든 부분을 대상으로 치환하도록 지정합니다. 만약 일반 스페이스만 제거하고 싶다면 / /g 또는 단순히 ' '를 사용할 수도 있습니다.

마무리

반복문 방식은 로직의 동작 원리를 이해하는 데 도움이 되지만, 실제 개발에서는 replace()와 정규 표현식을 활용한 방법이 코드가 짧고 가독성이 높아 권장됩니다. 상황에 맞는 방식을 선택해 사용하시기 바랍니다.