iOS object-c 문자열 처리
NSString* str1 = @”Objective-C 2.0 Programming. “;
NSString* str2 = @”xCode is Powerful. “;
NSString* str3;
NSString* strNum = @”7.7″;
NSString* tmp;
NSMutableString* mutableString;
NSComparisonResult compareResult;
NSRange range;
// 빈 문자열 생성
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);
// 문자열 합치기
tmp = [str1 stringByAppendingString:str2];
NSLog(@”%@ + %@ = %@”, str1, str2, tmp);
// 문자열 비교
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);
'IT > iOS' 카테고리의 다른 글
살인진드기 같은 버그 찾기 (0) | 2013.05.03 |
---|---|
테이블뷰 다음 페이지 불러오기 (4) | 2013.04.22 |
주소록 데이터 접근 (0) | 2013.04.05 |
다른 클래스 메소드 호출 (0) | 2013.03.21 |
이미지뷰, 일반뷰 사각 테두리 만들기 (0) | 2012.08.24 |
인증서 관련된 오류 (0) | 2012.08.24 |
뷰 호출 관련 메소드 (0) | 2012.07.17 |
UDID 대체 방법 -> MAC 어드레스 얻기 (0) | 2012.07.02 |