본문 바로가기
└ Java Script

[Java Script] Trim, Ltrim, Rtrim 구현 (정규식 이용)

by 짜장이누나 2014. 4. 24.


오랜만에 포스팅한다.....


Today's mission.

Trim 이란?

Ltrim, Rtrim 구현하기





Trim 이 무엇일까?


 쉽게말해서 문자열 앞 뒤의 공백제거이다. (문자열 속의 공백은 제거 대상 아님)


   '   냠냠쩝쩝 ' 


위와 같은 문자열에서 앞에 3칸 뒤에 1칸의 공백이 있는데 trim함수를 통해 불필요한 공백을 제거할 수 있다.

* 자바스크립트에서는 trim함수가 없으므로 직접 구현해 주어야 한다.

ㅇ Ltrim : 문자열 왼쪽의 공백 제거

ㅇ Rtrim : 문자열 오른쪽의 공백 제거




>> Ltrim 구현 (빈 공간을 보이게 하기위해 '0'으로 사용함)


String.prototype.LTRIM = function(str) {
    var a=0;
    for( var i = 0; i < str.length; i++) {
         
          if(str.charAt(i) != '0' ) {
              var j =i;
              break;
         }
         console.log( 'a='+a)
         a++;
    }
    
    var x = 0;
    var arr = [];
    for(j = i; j < str.length; j++) {
         arr[x] = str.charAt(j);
         console.log(arr[x]);
         x++;
    }
    return arr;
}
var cc = new String;
cc.LTRIM('0000asd')




>> Rtrim 구현 (빈 공간을 보이게 하기위해 '0'으로 사용함)


String.prototype.RTRIM = function(str) {
    var a=0;
    for( var i = 0; i < str.length; i++) {
         
          if(str.charAt(i) == '0' ) {
              var j =i;
              break;
         }
         console.log( 'a='+a)
         a++;
    }
    
    var x = 0;
    var arr = [];
    for(j = 0; j < i; j++) {
         arr[x] = str.charAt(j);             
         x++;
    }
    return arr;
}
var cc = new String;
cc.RTRIM('asd000')




>> 정규식을 이용한 Ltrim, Rtrim 구현


String.prototype.ltrim = function() {

    return this.replace(/^[ ]*/g, '');
};

String.prototype.rtrim = function() {

    return this.replace(/[ ]*$/g, '');
};

console.log('[' + '    a'.ltrim() + ']');
console.log('[' + 'a    '.rtrim() + ']');



>> 정규식 분석

 /[ ]*$/g


/ : 정규식의 처음과 끝을 알림. / /사이에 정규식 넣기

[] : 문자열의 시작과 끝. [] 사이에 검사할 문자열 넣기

* : 0 또는 그 이상

$ : 후위검색





정규식을 이용하니 코드가 완전 간단해졌다.

정규식이 짱인가봉가

분명 학교에서 배웠는데 기억이 안난다...

다시 공부해야지ㅜㅜㅜㅜ

홧팅2