Objective-C入門教程11:字符串(NSString)及常見字符串處理函數(shù)柳志超博客 ? Program ? Objective-C ? Objective-C入門教程11:字符串(NSString)及常見字符串處理函數(shù) posted in Objective-C on by liuzc從本系列文章的開始,我們就使用過字符串對象,但是我們卻還沒有比較詳細的介紹過它.使用@符,再一對雙引號將一組字符串引用起來,例如: @”In fact, Objective-C is very simple.”; 就是使用Objective-C語言創(chuàng)建了一個字符串對象.Foundation框架使用一個名為NSString的類,用于處理字符串對句.正如我們所看到的,在Objective-C中創(chuàng)建一個常量字符串對象,需要在字符串開頭放置一個@符號.特殊情況下,它屬于NSConstantString類的常量字符串對象.NSConstantString類是NSString類的子類. 可變對象與不可變對象 我們上面創(chuàng)建的字符串對象@”In fact, Objective-C is very simple.”;是一個內(nèi)容不可更改的對象,這稱為不可變對象.(你可以操作他們,但是你不可以刪除字符或者增加字符來改變它).可以使用NSString類處理不可變字符串.但是我們經(jīng)常需要處理字符串并更改字符串中的字符,比如,有時我們需要從一串字符中刪除一些字符,或替換掉一些字符.這種類型的字符串是使用NSMutableString類處理的. int main(int argc, const char * argv[]) { @autoreleasepool { //創(chuàng)建常量字符串 NSString* str1 = @"In fact, Objective-C is very simple."; //創(chuàng)建空字符串,,給予賦值 NSString* str2 = [[NSString alloc] init]; str2 = str1; NSLog(@"str2: %@",str2); //使用initWithString方法 NSString* str3 = [[NSString alloc] initWithString:str1]; NSLog(@"str3: %@",str3); //將一個字符串復制到另一個字符串 NSString* str4 = [NSString stringWithString:str1]; NSLog(@"str4: %@",str4); //將一個字符串復制到另一個字符串結(jié)果,即連接兩個字符串 NSLog(@"str1 concatentation str2: %@",[str1 stringByAppendingString:str2]); //計算字符串的長度(length) NSLog(@"Length of str1: %lu",[str1 length]); //驗證兩個字符串是否相等 if ([str1 isEqualToString:str2]) { NSLog(@"str1 == str2 "); }else{ NSLog(@"str1 != str2"); } //將字符串轉(zhuǎn)化為大寫 NSLog(@"Uppercase str1: %@",[str1 uppercaseString]); //將字符串轉(zhuǎn)化為小寫 NSLog(@"Uppercase str1: %@",[str1 lowercaseString]); //返回索引i的Unicode字符 NSLog(@"%hu",[str1 characterAtIndex:10]); } return 0; } NSString方法 +(id) stringWithContentsOfFile:path encoding:enc error:err +(id) stringWithContentsOfURL:url encoding:enc error:err +(id) string +(id) stringWithString:nsstring -(id)initWithString:nsstring -(id) initWithContentsOfFile:path encoding:enc error:err -(id) initWithContentsOfURL:url encoding:enc error:err -(id) (UNSIgned int)length -(unichar)characterAtIndex:i -(NSString *)substringFromIndex:i -(NSString *)substringWithRange:range -(NSString *)substringToIndex:i -(NSComparator *)caseInsensitiveCompare:nsstring -(NSComparator *)compare:nsstring -(BOOL)hasPrefix:nsstring -(BOOL)hasSuffix:nsstring -(BOOL)isEqualToString:nsstring -(NSString *) capitalizedString -(NSString *)lowercaseString -(NSString *)uppercaseString -(const char*)UTF8String -(double)doubleValue -(float)floatValue -(NSInteger)integerValue -(int)intValue
NSMutableString方法 NSMutableString類可以用來創(chuàng)建可以更改字符的字符串對句.因為是NSString的子類,所以可以使用NSString類的所有方法. -(id) initWithCapacity:size -(void) setString:nsstring -(void) appendString:nsstring -(void) deleteCharactersInRange:range -(void) insertString:nsstring atIndex:i -(void) replaceCharactersInRange:range withString:nsstring -(void) replaceOccurrencesOfString:nsstring withString:nsstring2 options:opts range:range |
|