https://m.blog.naver.com/itperson/220834686133

Objective-C의 NSString 관련 메소드를 간략하게 정리

문자열 초기화
NSString *str; str = [NSString string]; # 빈 문자열 str = [NSString stringWithString:@"value"] # 지정 문자열로 초기화 str = [NSString stringWithFormat:@"%d", 5] # 다른 데이터 형식을 문자열로 수정 str = @"value"; # 지정문자열로 초기화
문자열 길이
NSLog(@"length of %@ : %ld", str, [str length]);
문자열 비교 
# 두 문자열이 동일한 문자열인지 체크 BOOL isEqual = [str1 isEqualToString:str2]; NSComparisonResult comparedValue; comparedValue = [str1 compare:str2]; # 대소문자 구별하여 문자열 비교 comparedValue = [str1 caseInsensitiveCompare:str2]; # 대소문자 구분없음 if (comparedValue == NSOrderedAscending) NSLog(@”%@ < %@”, str1, str2); if (comparedValue == NSOrderedSame) NSLog(@”%@ == %@”, str1, str2); if (comparedValue == NSOrderedDescending) NSLog(@”%@ > %@”, str1, str2);
대소문자 변환
# 원래 문자열에 관계없이 첫 문자는 대문자, 나머지는 소문자로 변환 str = [str capitalizedString]; str = [str uppercaseString]; # 대문자로 변환 str = [str lowercaseString]; # 소문자로 변환
문자열 추가
# str1 에 str2 문자열 추가 str = [str1 stringByAppendingString:str2]; # NSMutableString에 NSString 문자열 추가 NSMutableString *str1 = [@"This is" mutableCopy]; NSString *str2 = @" a test."; [str1 appendString:str2];
문자열 부분 추출
char ch = [str characterAtIndex:7]; # 특정 문자 1개만 반환 str = [str substringToIndex:8]; # 8번째 문짜까지 반환 str = [str substringFromIndex:7]; # 7번째 문자 이후부터 반환 str = [str substringWithRange:NSMakeRange(3, 5)]; # 4번째 문자부터 5개의 문자를 반환
특정 문자열 포함 여부 검색
NSRange range = [str rangeOfString:@"searchString"]; # 발견된 문자열의 위치와 길이를 출력 if (range.location != NSNotFound) NSLog(@"%ld, %ld", range.location, range.length);
문자열의 시작 / 끝 문자열 비교
BOOL hasStr = [str hasPrefix:@"startString"]; # 시작 문자열 비교 BOOL hasStr = [str hasSuffix:@"endString"]; # 끝나는 문자열 비교
숫자로 변환
NSInteger iValue = [strNum integerValue]; double dblValue = [strNum doubleValue]; float fValue = [strNum floatValue]; int iValue = [strNum intValue];
특정 길이를 가지는 빈 문자열 생성
NSMutableString *str = [NSMutableString stringWithCapacity:10]; NSMutableString *str = [[NSMutableString alloc] initWithCapacity:10];
특정 인덱스 위치에 문자열 삽입
NSMutableString *str = [@"originString" mutableCopy]; [str insertString:@"changed" atIndex:0]; NSLog(@"%@", str);
문자열 치환
# originValue 문자열이 있을 경우 changeValue 문자열로 교체 str = [str stringByReplacingOccurrencesOfString:@"originValue" withString:@"changeValue"]; # 2번째 문자부터 3개의 문자를 "changeValue" 로 치환 str = [str stringByReplacingCharactersInRange:NSMakeRange(2, 3) withString:@"changeValue"];
문자열 분할
NSString *fullName = @"HONG GILDONG"; # 공백을 기준으로 문자열 분할 NSArray *components = [fullName componentsSeparatedByString:@" "]; NSString *firstName = components[1]; NSString *lastName = components[0];