티스토리 뷰


JavaScript 에서는 별도의 문자열 Trimming 기능이 없으므로 직접 구현을 해야 합니다.

문자열을 Char 배열로 쪼개어 공백을 Catch 하는 단순한 방법도 있겠지만 그보다 더 간단하게 정규표현식을 사용하여 구현 할 수 있습니다.

저는 두가지 기능을 위한 정규 표현식을 만들어봤습니다.

- 문자열 맨 앞과 맨 뒷부분의 공백을 제거
- 문자열에 포함된 모든 공백을 제거

우선, 문자열 앞뒤의 공백을 제거하기 위한 함수입니다.
function trim(str) {
	return str.replace( /(^\s*)|(\s*$)/g, "" );
}

\s : 공백 문자를 의미
^ : 라인 혹은 문자열의 처음을 의미
$ : 라인 혹은 문자열의 끝을 의미
s : 공백을 의미하며, \와 함께 사용해야 특수문자로 인식
* : 0 혹은 한개 이상을 의미
g : 전역 매칭을 의미

위 표현식을 풀어보자면 '문자열의 시작에 공백이 n개 있는 경우 및 문자열의 마지막에 공백이 n개 존재 하는 모든 경우' 라고 볼 수 있겠습니다.
표현식 중간에 '|'가 있는데 이것은 '()'로 묶인 표현식 두개의 OR 를 뜻하게 됩니다. 즉, 두가지 모두가 포함되는 조건이라 볼 수 있겠죠.

여기에 추가로 문자열에 포함된 모든 공백을 제거하는 기능이 필요하여 다음과 같은 정규식을 만들었습니다.
(사실 너무나도 간단한거지만...;;)

문자열에 포함된 모든 공백 제거를 위한 함수.
function compactTrim(str) {
	return str.replace( /(\s*)/g, "" );
}
즉, 문자열에 포함된 모든 공백문자를 제거하게 됩니다.
공지사항