BIBI BLOG
[Objective-C]NSString다루기 본문
■NSString이란
Objective-C의 텍스트는 일반텍스트가 아닙니다. 예를 들어, C언어나 많은 프로그래밍 언어에서 문자열은 "Hello"와 같은 형태로 쓰여지며 char배열의 값이지만, Objective-C는 「객체」로 취급되는 문자열이 준비되어 있습니다. @"Hello"라고 하는 것처럼, 처음에 @기호를 붙여 써지는 방식입니다.
이 @"Hello"문자열은 NSString클래스의 인스턴스로 취급되는 객체입니다. @"Hello"문자열은 객체 상수라고하고, NSString의 인스턴스를 상수로 다룬다는 의미입니다.
NSString* str = @"Hello";
NSLog(@"%@",str);
「%@」라고 하는 것은 Objective-C의 오브젝트를 출력하는데 이용되는 기호입니다. 텍스트를 나타내는 「%s」가 아닌 점에서 두 문자열은 전혀 다릅니다.
■NSString의 기본 조작
○문자열 결합
NSString* 변수 = [《NSString*》stringByAppendingString:《NSString*》];
---------------------------------------------------------------------------------------------------------
NSString* str = @"Hello,";
str = [str stringByAppendingString:@"Objective-C"];
NSLog(@"%@",str);
○포맷을 사용한 결합
NSString* 변수 = [《NSString*》 stringByAppendingFormat:Fomat, 변수, …… ];
---------------------------------------------------------------------------------------------------------
NSString* str = @"Hello";
NSString* format = @",Miss %@. How are you?";
str = [str stringByAppendingFormat:format,@"Hana"];
NSLog(@"%@",str);
○문자열 비교
BOOL 변수 = [《NSString*》 isEqual: 《NSString*》];
BOOL 변수 = [《NSString*》 isEqualToString: 《NSString*》];
---------------------------------------------------------------------------------------------------------
NSString* str1 = @"Hello";
NSString* str2 = [@"Hell" stringByAppendingString:@"o"];
BOOL res = [str1 isEqualToString:str2];
NSLog(res ? @"YES!" : @"No..");
○문자열 길이
NSUInteger 변수 = [《NSString*》 length];
---------------------------------------------------------------------------------------------------------
int n = [@"Welcome to Objective-C." length];
NSLog(@"count: %i",n);
■NSString 문자열 추출
○문자열의 처음부터 특정 인덱스까지의 문자열 반환
NSString *변수 = [《NSString*》 substringToIndex:《NSUInteger》];
---------------------------------------------------------------------------------------------------------
NSString* str = @"Welcome to Objective-C.";
NSString* str2 = [str substringToIndex:5];
NSLog(@"%@",str2);
○특정 인텍스부터 문자열의 끝까지의 문자열 반환
NSString *변수 = [《NSString*》 substringFromIndex:《NSUInteger》];
---------------------------------------------------------------------------------------------------------
NSString* str = @"Welcome to Objective-C.";
NSString* str2 = [str substringFromIndex:5];
NSLog(@"%@",str2);
○특정 범위의 문자열을 반환
NSString *변수 = [《NSString*》 substringWithRange:《NSRange》];
---------------------------------------------------------------------------------------------------------
NSMakeRange( 시작인덱스 , 길이 )
NSString* str = @"Welcome to Objective-C.";
NSString* str2 = [str substringWithRange:NSMakeRange(5, 7)];
NSLog(@"%@",str2);
■NSString 문자열 분할, 검색 및 바꾸기
○문자열 분할
NSArray *변수 = [《NSString*》 componentsSeparatedByString:《NSString*》];
---------------------------------------------------------------------------------------------------------
NSString* str = @"Welcome to Objective-C.";
NSArray* re = [str componentsSeparatedByString:@"Object"];
NSLog(@"%@",re);
○문자열 위치 검색
NSRange 변수 = [《NSString*》 rangeOfString:《NSString*》];
---------------------------------------------------------------------------------------------------------
NSString* str = @"Welcome to Objective-C.";
NSRange r = [str rangeOfString:@"Object"];
NSLog(@"%i - %i.",r.location,r.length);
○문자열 바꾸기
NSString *변수 = [《NSString*》 stringByReplacingOccurrencesOfString:《NSString*》 withString:《NSString*》];
---------------------------------------------------------------------------------------------------------
NSString* str = @"Welcome to Objective-C.";
NSString* re = [str stringByReplacingOccurrencesOfString:@"Objective-C" withString:@"AppleScript"];
NSLog(@"%@",re);
○특정범위 문자열 바꾸기
NSString *변수 = [《NSString*》 stringByReplacingCharactersInRange:《NSRange》 withString:《NSString*》];
---------------------------------------------------------------------------------------------------------
NSString* str = @"Welcome to Objective-C.";
NSRange r = NSMakeRange(5, 7);
NSString* re = [str stringByReplacingCharactersInRange:r withString:@"*******"];
NSLog(@"%@",re);
'iOS > Objective-c' 카테고리의 다른 글
[Objective-C]NSDate와 날짜다루기 (0) | 2020.10.05 |
---|---|
[Objective-C]NSMutableString다루기 (0) | 2020.10.02 |
[Objective-C]인스턴스 변수의 접근 권한 및 속성(propert) (0) | 2020.09.30 |
[Objective-C]클래스 만들기 (0) | 2020.09.29 |
Objective-C란? (0) | 2020.09.28 |