- 자바 스크립트에서 trim()에 대한 단상
- 컴퓨터야그/블로그 관련
- 2010. 7. 11. 23:30
자바 스크립트는 trim() 함수를 지원하지 않는다.
그래서 정규식을 활용해서 구현해서 사용하는 것이 일반적이다.
주어진 문자열의 앞뒤를 동시에 트림하는 함수를 구현한 가장 일반적인 함수는 아래의 형태이다.
function trimboth1(str) {
return str.replace(/^\s+|\s+$/g,'');
}
그런데, 인터넷을 뒤지다가 Faster Javascript Trim이라는 글을 찾았다.
글의 요지는 간단하다. 정규식을 이용하는 것이 가장 빠른 것이 아니라는 것.
코드의 길이가 좀 길어지더라도 더 빠른 함수가 필요하다면 아래와 같은 형태가 좋은 것 같다.
function trimboth2(str) {
var space = '\s';
var left=str.length, right=-1, i;
for (i=0; i<str.length; i++) {
if (space.indexOf(str.charAt(i)) == -1) {
left = i;
break;
}
}
for (i=str.length-1; i>=left; i--) {
if (space.indexOf(str.charAt(i)) == -1) {
right = i;
break;
}
}
if (left>right) return '';
else return str.substring(left, right+1);
}
'컴퓨터야그 > 블로그 관련' 카테고리의 다른 글
트위터 MonkeyFly용 스킨 결정! (7) | 2010.08.23 |
---|---|
트위터 어플들아! 링크 규칙을 맞춰라! 특히 한글 해쉬태그! (20) | 2010.08.10 |
Syntax Highlighter 3.0.83 적용! (18) | 2010.07.11 |
죽을 때가 되어가는 텍큐닷컴의 "트랙백 추천"의 압박 (19) | 2010.05.10 |
텍큐닷컴이 문 닫으면 어디로 가야 하나? (18) | 2010.05.05 |
Recent comment