Develop

[ios] Objective-C 문자열 조작 메서드

by hooni posted Apr 23, 2013
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
Objective-C 문자열 조작 메서드 중 몇가지에 대해서 알아보자. 

문자열 비교시 결과값을 위해 다음과 같은 enum 상수가 선언되어 있다. 
enum {
   NSOrderedAscending = -1,
   NSOrderedSame,
   NSOrderedDescending
};
typedef NSInteger NSComparisonResult;

NSOrderedAscening은 좌측의 피연산자가 우측의 피연자보다 작다는 것을  
NSOrderedDescending은 좌측의 피연자가 우측의 피연자보다 크다는 것을
NSOrderedSame은 좌우측의 피연산자가 같다는 것을 나타낸다. 

다음은 문자열에 포함된 특정 문자열이나  NSArray 안에 특정 Object와 같이 범위를 지정하기 위해 사용되는 구조체이다. 
typedef struct _NSRange {
      NSUInteger location;   // start index
      NSUInteger length;     // location 위치부터의 길이 
} NSRange;

다음은 초 단위로 시간간격을 지정하기 위한 타입정의이다.  
typedef double NSTimeInterval;


이름만을 보고도 충분히 그 의미를 알수 있기 때문에 메서드에 대한 설명은 생략하겠다. (-_-;;)

# 문자열 비교
- (NSComparisonResult)compare:(NSString *)aString
- (NSComparisonResult)caseInsensitiveCompare:(NSString *)aString
- (BOOL)isEqualToString:(NSString *)aString
- (BOOL)hasPrefix:(NSString *)aString



# 문자열 접합

- (NSString *)stringByAppendingString:(NSString *)aString
- (NSString *)stringByAppendingFormat:(NSString *)format ...



# 문자열 분할

- (NSString *)substringToIndex:(NSUInteger)anIndex
- (NSString *)substringFromIndex:(NSUInteger)anIndex
- (NSString *)substringWithRange:(NSRange)aRange


# 문자열 검색
- (NSRange)rangeOfString:(NSString *)aString
- (NSRange)lineRangeForRange:(NSRange)aRange



# 문자열 치환 (replace)

- (NSString *)stringByReplacingCharactersInRange:(NSRange)range
    withString:(NSString *)replacement

- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target
    withString:(NSString *)replacement



# 문자열 변환

- (NSString *)capitalizedString
- (NSString *)lowercaseString
- (NSString *)uppercaseString
- (id)initWithCString:(const char *)nullTerminatedCString
    encoding:(NSStringEncoding)encoding
- (const char *)cStringUsingEncoding:(NSStringEncoding)encoding



# 문자열 토큰 분리

- (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator
- (NSArray *)componentsSeparatedByString:(NSString *)separator