NSString

2016. 3. 16. 12:56개발자료/iOS


반응형

 

Convert (변환)

■ char* > NSString

char szText[] = "convert test";
NSString* strText = [NSString stringWithUTF8String:szText];

■ NSString > char *

NSString *strText = @"convert test";
const char* szText = [strText UTF8String];

 

Find (검색, 찾기)

■ containsString : 문자열이 포함되었는지 확인

NSString *str = @"find objective-c string ";
if ([str containsString:@"objective-c"]) {
	NSLog(@"문자열 존재함.");
} 
else {
	NSLog(@"문자열 존재안함.");
}

■ rangeOfString 

NSString *str = @"find objective-c string ";
if ([str rangeOfString:@"objective-c"].location == NSNotFound) {
	NSLog(@"문자열 존재안함.");
} 
else {
	NSLog(@"문자열 존재함.");
}

 

Path (경로)

■ lastPathComponent : 확장자를 포함한 파일명 획득

NSString *strPath = @"/Users/user/Projects/file.txt";
NSString *strFile = [string lastPathComponent];
NSLog(strFile);
// outout 
// file.txt

■ stringByDeletingPathExtension : 확장자를 제외한 파일명 획득

NSString *strPath = @"/Users/user/Projects/file.txt";
NSString *strFileName = [[strPath lastPathComponent] stringByDeletingPathExtension];
NSLog(strFileName);  
// output
// file

■ stringByDeletingLastPathComponent : 파일명을 제외한 경로 획득

 

문자열 비교

■ 문자열이 같은지 비교

NSString *str1 = @"Test";
NSString *str2 = @"test";
NSComparisonResult comparisonResult = [str1 compare:str2];
if([str1 isEqualToString:str2]){
	// str1 == str2
}else{
	// str1 != str2
}

■ 대소문자 구분 비교

NSString *str1 = @"Test";
NSString *str2 = @"test";
NSComparisonResult comparisonResult = [str1 compare:str2];
if(comparisonResult == NSOrderedAscending){
	// str1 < str2
}else if(comparisonResult == NSOrderedSame){
	// str1 == str2
}else{
	// str1 > str2
}

■ 대소문자 구분없이 비교

NSString *str1 = @"Test";
NSString *str2 = @"test";
NSComparisonResult comparisonResult = [str1 caseInsensitiveCompare:str2];
if(comparisonResult == NSOrderedAscending){
	// str1 < str2
}else if(comparisonResult == NSOrderedSame){
	// str1 == str2
}else{
	// str1 > str2
}

 

기타

■ 특정 위치에 문자열 넣기

NSMutableString *str = [NSMutableString stringWithString:@"abcd"];
[str insertString:@"1234" atIndex:2];
// ab1234cd

 

 

기능 - 별문자로 개인정보 가리기
NSString *strId = @"testaccount";
NSInteger starCount = [strId length] - 3;
if ([strId length] > 3) {
	NSString *stars = [@"" stringByPaddingToLength:starCount withString:@"*" startingAtIndex:0];
	// 뒷자리 채우기
	NSString *temp = [strId stringByReplacingCharactersInRange:NSMakeRange(3, starCount) withString:stars];
	NSLog(temp);
	// outout : tes********
	// 앞자리 채우기
	temp = [strId stringByReplacingCharactersInRange:NSMakeRange(0, starCount) withString:stars];
	NSLog(temp);
	// outout : ********unt
}

 

_____

반응형

'개발자료 > iOS' 카테고리의 다른 글

NSDictionary NSLog 한글 출력  (0) 2016.09.28
ARC 사용 여부 체크  (0) 2016.06.13
iOS7 Simulator Keyboard 올라오지 않을때  (0) 2014.11.26
NSDictionary <null> 값 비교 처리  (0) 2014.11.25
UIViewController  (0) 2014.11.07