// 빈 문자열 생성
str3 = [NSString string];
// 문자열로 새로운 문자열 생성
str3 = [NSString stringWithString:@"stringWithString"];
NSLog(@”%@”, str3);
str3 = [[NSString alloc] initWithString:@”initWithString”];
NSLog(@”%@”, str3);
[str3 release];
// 문자열 길이
NSLog(@”length of %@ : %i”, str1, [str1 length]);
NSLog(@”length of %@ : %i”, str2, [str2 length]);
// 문자열 복사
tmp = [NSString stringWithString:str1];
NSLog(@”tmp : %@”, tmp);
// 문자열 합치기 1
tmp = [str1 stringByAppendingString:str2];
NSLog(@”%@ + %@ = %@”, str1, str2, tmp);
// 문자열 합치기 2
NSMutableString *string1 = @"This is";
NSString *string2 = @" a test.";
[string1 appendString:string2];
// 문자열 비교
tmp = str1;
if ( [str1 isEqualToString:tmp] == YES )
NSLog(@”%@ == %@”, tmp, str1);
else
NSLog(@”%@ != %@”, tmp, str1);
// 문자열 비교(대소문자 구분)
compareResult = [str1 compare:str2];
if (compareResult == NSOrderedAscending)
NSLog(@”%@ < %@”, str1, str2);
else if (compareResult == NSOrderedSame)
NSLog(@”%@ == %@”, str1, str2);
else
NSLog(@”%@ > %@”, str1, str2);
// 문자열 비교(대소문자 구분하지 않음)
compareResult = [str1 caseInsensitiveCompare:str2];
if (compareResult == NSOrderedAscending)
NSLog(@”%@ < %@”, str1, str2);
else if (compareResult == NSOrderedSame)
NSLog(@”%@ == %@”, str1, str2);
else
NSLog(@”%@ > %@”, str1, str2);
// 첫문자가 대문자이고 나머지가 소문자인 문자열 리턴
tmp = [str2 capitalizedString];
NSLog(@”%@”, tmp);
// 대문자로 변환
tmp = [str1 uppercaseString];
NSLog(@”%@ -> %@”, str1, tmp);
// 소문자로 변환
tmp = [str2 lowercaseString];
NSLog(@”%@ -> %@”, str2, tmp);
// UTF-8 형식의 문자열 리턴
const char* utf8str = [str1 UTF8String];
// 특정 인덱스의 유니코드 문자 반환
unichar ch = [str2 characterAtIndex:7];
NSLog(@”%c”, ch);
// 특정 인덱스까지의 문자열 반환
tmp = [str1 substringToIndex:15];
NSLog(@”%@”, tmp);
// 특정 인덱스부터 문자열 끝까지 반환
tmp = [str2 substringFromIndex:9];
NSLog(@”%@”, tmp);
// 문자열 중간부분 반환
tmp = [str1 substringWithRange:NSMakeRange(7, 14)];
NSLog(@”%@”, tmp);
// 문자열 내부 검색
range = [str2 rangeOfString:@"Power"];
if (range.location == NSNotFound)
NSLog(@”not found”);
else
NSLog(@”at index %i, length %i”, range.location, range.length);
// 문자열이 특정 문자열로 시작하는지 확인
BOOL bRet = [str1 hasPrefix:@"Obj"];
if (bRet)
NSLog(@”Obj로 시작하는 문자열”);
// 문자열이 특정 문자열로 끝나는지 확인
bRet = [str2 hasSuffix:@"Power"];
if (bRet)
NSLog(@”Power 로 끝나는 문자열”);
// 문자열을 double 값으로 변환
double dblValue = [strNum doubleValue];
NSLog(@”%g”, dblValue);
// 문자열을 float 값으로 변환
float fValue = [strNum floatValue];
NSLog(@”%f”, fValue);
// 문자열을 int 값으로 변환
int iValue = [strNum intValue];
NSLog(@”%i”, iValue);
// 임의의 길이를 가진 빈 문자열 생성
mutableString = [NSMutableString stringWithCapacity:10];
mutableString = [[NSMutableString alloc] initWithCapacity:10];
[mutableString release];
mutableString = [NSMutableString stringWithString:str2];
// 특정 인덱스 위치에 문자열 넣기
[mutableString insertString:@"most " atIndex:9];
NSLog(@”%@”, mutableString);
// 문자열 끝에 새로운 문자열 붙이기
[mutableString appendString:@" dev tool!!"];
NSLog(@”%@”, mutableString);
// 특정 범위 삭제
[mutableString deleteCharactersInRange:NSMakeRange(23, 12)];
NSLog(@”%@”, mutableString);
// 특정 문자열 검색 후 삭제
range = [mutableString rangeOfString:@"Power"];
if (range.location != NSNotFound)
{
[mutableString deleteCharactersInRange:range];
NSLog(@”%@”, mutableString);
}
// 문자열 설정
[mutableString setString:@"xCode is Powerful. "];
NSLog(@”%@”, mutableString);
// 특정 범위를 새로운 문자열로 대치
[mutableString replaceCharactersInRange:NSMakeRange(0, 5) withString:@"Apple xCode"];
NSLog(@”%@”, mutableString);
// 특정 문자를 모두 대치
NSString* searchWord = @”o”;
NSString* replaceWord = @”0″;
[mutableString replaceOccurrencesOfString:searchWord withString:replaceWord options: (NSStringCompareOptions)nilrange:NSMakeRange(0, [mutableString length])];
NSLog(@”%@”, mutableString);
NSString
----------------------------------------------------------------------------
<Foundation 프레임워크에 포함된 class>
문자열을 다루는데 사용됩니다.
NSString *str = @"hello";
----------------------------------------------------------------------------
문자열 생성
+(id)stringWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);
c언어의 printf()과 같이 인수를 이용해, 새로운
문자열을 만들어서 반환합니다.
NSString *str = [NSString stringWithFormat:
@"first var %d, second var %d", 1, 2];
----------------------------------------------------------------------------
글자수 검색
- (NSUInteger)length;
문자열의 문자수를 반환합니다.
유니코드 다국어 표준을 사용하여,
1byte 이상의 문자도 정상적으로 반환됩니다.
strlen()의 byte 계산 없이, 한글도 정상적으로 반환 됨.
NSUInteger length = [str length];
----------------------------------------------------------------------------
문자열 비교
- (BOOL)isEqualToString:
(NSString *)aString;
자신과 인수로 받은 문자열을 비교해서
YES, NO 를 반환합니다.
'==' 을 사용하면 문자열이 아니라,
객체의 포인터를 비교합니다.
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 객체 같음");
}
----------------------------------------------------------------------------
문자열 비교(대소문자 무시)
- (NSComparisonResult)compare:
(NSString *)string
options:(NSStringCompareOptions)mask;
파라미터에 or 연산자 사용가능함.
NSCaseInsensitiveSearch : 대소문자 무시
NSLiteralSearch : 대소문자 구분
NSNumericSearch : 숫자를 아스키값이 아니라,
실제 숫자로 처리
두 문자열이 같으면 NSOrderedSame을 반환.
NSString *str1 = @"first";
NSString *str2 = @"First";
if (![str1 isEqualToString:str2]) {
NSLog(@"str1/str2 문자열 다름");
}
if ([str1 compare:str2
options:NSCaseInsensitiveSearch] == NSOrderedSame) {
NSLog(@"str1/str2 문자열 같음");
}
----------------------------------------------------------------------------
문자열 비교(포함)
- (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
포함되어 있음");
}
----------------------------------------------------------------------------
대소문자 변한
- (NSString *)uppercaseString;
- (NSString *)lowercaseString;
문자열에 포함된 모든 문자를 대문자/소문자로 변경합니다.
NSString *str = @"string";
str = [str uppercaseString];
NSLog(@"%@",str);
//str : "STRING"
str = [str lowercaseString];
NSLog(@"%@",str);
//str : "string"
----------------------------------------------------------------------------
형변환> NSString -> int, float, NSNumber…
NSString *numString = @"100";
int realNumber = [numString intValue];
int x = realNumber + 100;
NSLog(@"%d",x);
//x = 200
float로 쓸땐 [numString floatValue];
double은 [numString doubleValue];
. . .
Read more: http://underfree.tistory.com/23#ixzz2M58Q2RyU
Posted by UnderFree
'모바일개발(Mobile Dev) > IOS개발(ObjectC)' 카테고리의 다른 글
NSDate NSTImeInterval (0) | 2015.09.11 |
---|---|
NSArray & NSMutableArray (0) | 2015.09.11 |
Navigation bar의 back button title 지정하기. (0) | 2015.08.15 |
UITextField & UITextFieldDelegate (0) | 2015.08.14 |
int NSInteger NSNumber (0) | 2015.08.14 |