JavaScript/기초 및 알고리즘 함수
split 으로 나눌때 공백이 두 개 이상일 경우
tokkiC
2022. 8. 12. 19:34
문자열의 앞 뒤로 공백이 여러개라면 trim() 을 쓰면 앞 뒤로 공백이 1개던 5개던 모두 사라진다
하지만
str = ' 사자 곰 호랑이 코알라 뱀 돼지 '
라는 문자열을 공백을 제거하여 나누어서 배열에 담으려 할때 단순히 앞 뒤로 공백을 제거하자 하고 다음처럼
arr = str.trim().split(' '); // arr = [사자,곰,,호랑이,,,코알라,,,,,뱀,,,,,,,,,,,,,,,,,,돼지] error야 꺄악!
나누면 에러가 생긴다. 각 요소들 사이의 공백도 구분자로 인식하게 되어 공백을 요소로 인식해서 생기는 문제이다
이럴땐 요소간의 공백이 여러개여도 무시할 수 있도록 정규표현식을 사용하면 된다
아직 정규표현식을 배우진 않았지만 자주 쓰일것 같으니 일단 외워서 쓰며 익숙해지자
사용법은 아래와 같다
arr = str.trim().split(/\s+/); // arr = 사자,곰,호랑이,코알라,뱀,돼지
이러면 요소 사이의 공백이 여러개여도 문제없이 입력 가능하다!