1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSString *str1 = @"This is string A"; NSString *str2 = @"This is string B"; NSLog(@"%@",str1); //문자열의 갯수 NSLog(@"%lu",[str1 length]); //대소문자 변경 NSString *result; result = [str1 uppercaseString]; //소문자 NSLog(@"%@",result); result = [str1 lowercaseString]; //대문자 NSLog(@"%@",result); //두문자열이 같은지 비교 if([str1 isEqualToString: str2] == YES){ NSLog(@"두문자열은 같다"); }else{ NSLog(@"두문자열은 같지 않다"); } //문자열 결합 result = [str1 stringByAppendingString: str2] ; NSLog(@"%@",result); //처음부터 3개의 문자만 추출하고 싶다 result = [str1 substringToIndex:3]; NSLog(@"%@",result); // 5자리부터 끝까지 문자열 추출 result = [str1 substringFromIndex:5]; NSLog(@"%@",result); // 8~13번 문자까지만 분리 result = [[str1 substringFromIndex:8] substringToIndex:6]; NSLog(@"%@",result); result = [str1 substringWithRange: NSMakeRange(8,6)]; NSLog(@"%@",result); //문자열 안에서 문자열 찾기 : 길이, 위치가 객체로 리턴 NSRange subRange = [str1 rangeOfString: @"strindg"]; if(subRange.location == NSNotFound){ NSLog(@"String Not Found"); }else{ NSLog(@"index : %lu, length: %lu",subRange.location, subRange.length); } //문자열 첫 글자의 대소문자를 확인하여 변환하기 NSString *convertString = @"aBC"; NSString *convertStringFirst = [convertString substringToIndex:1]; //첫번째 글자 NSString *convertStringUpper = [convertStringFirst uppercaseString];//강제로 대문자로 변환 if ([convertStringFirst isEqualToString:convertStringUpper]){ NSLog(@"%@ lowercase = %@", convertString,[convertStringFirst lowercaseString]); }else{ NSLog(@"%@ uppercase = %@", convertString,[convertStringFirst uppercaseString]); } [pool drain]; return 0; } | cs |
NSString
----------------------------------------------------------------------------
<Foundation 프레임워크에 포함된 class>
문자열을 다루는데 사용됩니다.
1 | NSString *str = @"hello"; | cs |
----------------------------------------------------------------------------
문자열 생성
1 | +(id)stringWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2); | cs |
c언어의 printf()과 같이 인수를 이용해, 새로운 문자열을 만들어서 반환합니다.
1 2 | NSString *str = [NSString stringWithFormat: @"first var %d, second var %d", 1, 2]; | cs |
----------------------------------------------------------------------------
글자수 검색
1 | - (NSUInteger)length; | cs |
문자열의 문자수를 반환합니다.
유니코드 다국어 표준을 사용하여,
1byte 이상의 문자도 정상적으로 반환됩니다.
strlen()의 byte 계산 없이, 한글도 정상적으로 반환 됨.
1 | NSUInteger length = [str length]; | cs |
----------------------------------------------------------------------------
문자열 비교
1 2 | - (BOOL)isEqualToString: (NSString *)aString; | cs |
자신과 인수로 받은 문자열을 비교해서
YES, NO 를 반환합니다.
'==' 을 사용하면 문자열이 아니라,
객체의 포인터를 비교합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | NSString *str1 = @"first"; NSString *str2 = [NSString stringWithFormat:@"%@",str1]; NSString *str3 = str1; if ([str1 isEqualToString:str2]) { NSLog(@"str1/str2 문자열 같음"); } if (str1 != str2) { NSLog(@"str1/str2 객체 다름"); } if (str1 == str3) { NSLog(@"str1/str3 객체 같음"); } | cs |
----------------------------------------------------------------------------
문자열 비교(대소문자 무시)
1 2 3 | - (NSComparisonResult)compare: (NSString *)string options:(NSStringCompareOptions)mask; | cs |
파라미터에 or 연산자 사용가능함.
NSCaseInsensitiveSearch : 대소문자 무시
NSLiteralSearch : 대소문자 구분
NSNumericSearch : 숫자를 아스키값이 아니라,
실제 숫자로 처리
두 문자열이 같으면 NSOrderedSame을 반환
1 2 3 4 5 6 7 8 9 10 | NSString *str1 = @"first"; NSString *str2 = @"First"; if (![str1 isEqualToString:str2]) { NSLog(@"str1/str2 문자열 다름"); } if ([str1 compare:str2 options:NSCaseInsensitiveSearch] == NSOrderedSame) { NSLog(@"str1/str2 문자열 같음"); } | cs |
----------------------------------------------------------------------------
문자열 비교(포함)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | - (BOOL)hasPrefix:(NSString *)aString; 문자열 앞부분과 인수 비교 - (BOOL)hasSuffix:(NSString *)aString; 문자열 끝부분과 인수 비교 - (NSRange)rangeOfString:(NSString *)aString; 문자열 전체에서 특정문자가 있는지 검색 (위에 compare에서 사용한 옵션 사용 가능) 찾으려는 문자열이 없으면 NSNotFound 반환 NSString *str1 = @"start nsstring search"; if ([str1 hasPrefix:@"sta"]) { NSLog(@"sta로 시작함"); } if ([str1 hasSuffix:@"search"]) { NSLog(@"search로 끝남"); } NSRange range; range = [str1 rangeOfString:@"nsstring"]; if (range.location != NSNotFound) { NSLog(@"문자열에 nsstring 포함되어 있음"); } | cs |
----------------------------------------------------------------------------
대소문자 변한
1 2 | - (NSString *)uppercaseString; - (NSString *)lowercaseString; | cs |
문자열에 포함된 모든 문자를 대문자/소문자로 변경합니다.
1 2 3 4 5 6 7 | NSString *str = @"string"; str = [str uppercaseString]; NSLog(@"%@",str); //str : "STRING" str = [str lowercaseString]; NSLog(@"%@",str); //str : "string" | cs |
----------------------------------------------------------------------------
형변환> NSString -> int, float, NSNumber…
1 2 3 4 5 | NSString *numString = @"100"; int realNumber = [numString intValue]; int x = realNumber + 100; NSLog(@"%d",x); //x = 200 | cs |
float로 쓸땐 [numString floatValue];
double은 [numString doubleValue];
'개발' 카테고리의 다른 글
[아이폰] 어플 이름 두줄로 표시, 어플 이름이 5글자이상되면 ... 나오는 증상 (0) | 2014.01.16 |
---|---|
[퍼블리싱][css] 문자열 자동 자르기(스크립트 함수 사용NO) (0) | 2014.01.16 |
[아이폰] 문자열 다루는 메소드 (0) | 2014.01.16 |
[안드로이드] WebSettings를 사용하여 WebView 설정하기 (0) | 2014.01.15 |
[안드로이드] 로컬스토리지 작동이 안되는경우 (0) | 2014.01.14 |