본문 바로가기
JavaScript/기초 및 알고리즘 함수

split 으로 나눌때 공백이 두 개 이상일 경우

by tokkiC 2022. 8. 12.

문자열의 앞 뒤로 공백이 여러개라면 trim() 을 쓰면 앞 뒤로 공백이 1개던 5개던 모두 사라진다

하지만 

str = '  사자 곰  호랑이   코알라     뱀                  돼지           ' 

라는 문자열을 공백을 제거하여 나누어서 배열에 담으려 할때 단순히 앞 뒤로 공백을 제거하자 하고 다음처럼

arr = str.trim().split(' ');     // arr = [사자,곰,,호랑이,,,코알라,,,,,뱀,,,,,,,,,,,,,,,,,,돼지]  error야 꺄악!

나누면 에러가 생긴다. 각 요소들 사이의 공백도 구분자로 인식하게 되어 공백을 요소로 인식해서 생기는 문제이다

이럴때만 칼같아 자바스크립트 너 임마 아주! 콱

이럴땐 요소간의 공백이 여러개여도 무시할 수 있도록 정규표현식을 사용하면 된다

아직 정규표현식을 배우진 않았지만 자주 쓰일것 같으니 일단 외워서 쓰며 익숙해지자

사용법은 아래와 같다

arr = str.trim().split(/\s+/);    // arr = 사자,곰,호랑이,코알라,뱀,돼지

이러면 요소 사이의 공백이 여러개여도 문제없이 입력 가능하다!

댓글