Objective-C入门教程11:字符串(NSString)及常见字符串处理函数柳志超博客 ? Program ? Objective-C ? Objective-C入门教程11:字符串(NSString)及常见字符串处理函数 posted in Objective-C on by liuzc从本系列文章的开始,我们就使用过字符串对象,但是我们却还没有比较详细的介绍过它.使用@符,再一对双引号将一组字符串引用起来,例如: @”In fact, Objective-C is very simple.”; 就是使用Objective-C语言创建了一个字符串对象.Foundation框架使用一个名为NSString的类,用于处理字符串对句.正如我们所看到的,在Objective-C中创建一个常量字符串对象,需要在字符串开头放置一个@符号.特殊情况下,它属于NSConstantString类的常量字符串对象.NSConstantString类是NSString类的子类. 可变对象与不可变对象 我们上面创建的字符串对象@”In fact, Objective-C is very simple.”;是一个内容不可更改的对象,这称为不可变对象.(你可以操作他们,但是你不可以删除字符或者增加字符来改变它).可以使用NSString类处理不可变字符串.但是我们经常需要处理字符串并更改字符串中的字符,比如,有时我们需要从一串字符中删除一些字符,或替换掉一些字符.这种类型的字符串是使用NSMutableString类处理的. int main(int argc, const char * argv[]) { @autoreleasepool { //创建常量字符串 NSString* str1 = @"In fact, Objective-C is very simple."; //创建空字符串,给予赋值 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); //将一个字符串复制到另一个字符串结果,即连接两个字符串 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"); } //将字符串转化为大写 NSLog(@"Uppercase str1: %@",[str1 uppercaseString]); //将字符串转化为小写 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类可以用来创建可以更改字符的字符串对句.因为是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 |
|