ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • NSString, trim
    iOS/Mac 2011. 5. 26. 13:54

    우째 이런 기본적인 것이 없을까나..
    NSString에 카테고리로 trim 관련 메소드를 추가해봤습니다. 

    NSString_Trim.h


    @interface NSString(Trim)

    - (NSString *)ltrim;

    - (NSString *)rtrim;

    - (NSString *)trim;
    @end 



    NSString_Trim.m


    @implementation NSString(Trim)

    - (NSString *)ltrim

    {

    NSCharacterSet *cs = [NSCharacterSet whitespaceAndNewlineCharacterSet];

    NSUInteger len = [self length];

    int i;

    for (i=0; i < len; i++)

    {

    unichar c = [self characterAtIndex:i];

    if ( [cs characterIsMember:c] == NO ) break;

    }

    NSString *trimmed = [self substringFromIndex:i];

    return trimmed;

    }



    - (NSString *)rtrim

    {

    NSCharacterSet *cs = [NSCharacterSet whitespaceAndNewlineCharacterSet];

    NSUInteger len = [self length];

    int i;

    for (i=(len-1); i >= 0; i--)

    {

    unichar c = [self characterAtIndex:i];

    if ( [cs characterIsMember:c] == NO ) break;

    }

    NSString *trimmed = [self substringToIndex:i+1];

    return trimmed;

    }



    - (NSString *)trim

    {

    NSCharacterSet *cs = [NSCharacterSet whitespaceAndNewlineCharacterSet];

    NSUInteger len = [self length];

    int start, end;

    unichar c;

    for (start=0; start < len; start++)

    {

    c = [self characterAtIndex:start];

    if ( [cs characterIsMember:c] == NO ) break;

    }

    for (end=(len-1); end >= start; end--)

    {

    c = [self characterAtIndex:end];

    if ( [cs characterIsMember:c] == NO ) break;

    }

    NSRange r = NSMakeRange(start, end-start+1);

    NSString *trimmed = [self substringWithRange:r];

    return trimmed;

    }

    @end 

    반응형

    댓글

Designed by Tistory.