티스토리 뷰

반응형

공백을 제거하는 방법에는 tirm을 이용한 방법과 replace를 이용한 방법이 있다.

공백 제거에 사용된 정규 표현식과 trim, replace를 알아보자.


정규 표현식 공통 부분 - gi

g  모든 전역 (첫번째 일치하는 문자열을 찾아도 끝까지 찾는다)

i  대소문자 구분 없이


문자열의 앞의 공백 제거
var text = " 가 나 다 ";
text = text.replace(/^[\s\uFEFF\xA0]+/gi,'');
alert(text); // "가 나 다 "

^ (문자열의 처음)

\s (공백), \uFEFF (이스케이프된 빈 문자)

+ (일치하지 않을 때까지)

\xA0 (이스케이프된 공백)


문자열의 뒤의 공백 제거
var text = " 가 나 다 ";
text = text.replace(/[\s\uFEFF\xA0]+$/gi,'');
alert(text); // " 가 나 다"

\s (공백)

\uFEFF (이스케이프된 빈 문자)

\xA0 (이스케이프된 공백)

+ (일치하지 않을 때까지)

$ (문자열의 끝)


문자열의 앞과 뒤 공백 제거

trim은 문자열의 앞과 뒤의 공백을 제거한다.

var text = ' 가 나 다 ';
text = text.trim(); 
alert(text); // "가 나 다"

 

브라우저에 따라서 trim이 동작하지 않을 수가 있다.

이 때 replace와 정규식을 사용해서 앞과 뒤의 공백을 제거한다.

var text = " 가 나 다 ";
text = text.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/gi, ''); 
alert(text); // "가 나 다"

문자열의 모든 공백 제거
var text = " 가 나 다 ";
text = text.replace(/\s/gi, ""); 
alert(text); // "가나다"

/\s/gi (공백)

또는 / /gi를 사용하면 된다.

 

주의할 점

var text = " 가 나 다 ";
text = text.replace(" ", ""); 
alert(text); // "가 나 다 "

정규식이 아닌 공백 replace를 사용하면 앞의 공백만 제거된다.

반응형
댓글
반응형