字符串(NSString)及常见字符串处理函数

从本系列文章的开始,我们就使用过字符串对象,但是我们却还没有比较详细的介绍过它.使用@符,再一对双引号将一组字符串引用起来,例如:

@”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类处理的.

NSString方法

+(id) stringWithContentsOfFile:path encoding:enc error:err
创建一个新字符串并将其设置为path指定的文件的内容,使用字符编码enc,如果非零,则返回err中错误

+(id) stringWithContentsOfURL:url encoding:enc error:err
创建一个新的字符串,并将其设置为url的内容,使用字符编码enc,如果非零,则返回err中的错误

+(id) string
创建一个新的空字符串

+(id) stringWithString:nsstring
创建一个新的字符串,并将其设置为nsstring

-(id)initWithString:nsstring
将分配的字符串设置为nsstring

-(id) initWithContentsOfFile:path encoding:enc error:err
将字符串设置为path制定的文件的内容

-(id) initWithContentsOfURL:url encoding:enc error:err
将字符串设置为url(NSURL *)url的内容,使用字符编码enc,如果非零,则返回err中的错误

-(id) (UNSIgned int)length
返回字符串中的字符数目

-(unichar)characterAtIndex:i
返回索引i的Unicode字符

-(NSString *)substringFromIndex:i
返回从i开始知道结尾的子字符串

-(NSString *)substringWithRange:range
根据指定范围返回子字符串

-(NSString *)substringToIndex:i
返回从该字符串开始到索i的子字符串

-(NSComparator *)caseInsensitiveCompare:nsstring
比较两个字符串,忽略大小写

-(NSComparator *)compare:nsstring
比较两个字符串

-(BOOL)hasPrefix:nsstring
测试字符串是否以nsstring开始

-(BOOL)hasSuffix:nsstring
测试字符串是否以nsstrng结尾

-(BOOL)isEqualToString:nsstring
测试两个字符串是否相等

-(NSString *) capitalizedString
返回每个单词首字母大写的字符串(每个单词的其余字母转换为小写)

-(NSString *)lowercaseString
返回转换为小写的字符串

-(NSString *)uppercaseString
返回转换为大写的字符串

-(const char*)UTF8String
返回转换为UIF-8字符串的字符串

-(double)doubleValue
返回转换为double的字符串

-(float)floatValue
返回转换为浮点值的字符串

-(NSInteger)integerValue
返回转换为NSInteger整数的字符串

-(int)intValue
返回转换为整数的字符串

 

NSMutableString方法

NSMutableString类可以用来创建可以更改字符的字符串对句.因为是NSString的子类,所以可以使用NSString类的所有方法.


+(id) stringWithCapacity:size
创建一个字符串,初始包含size的字符

-(id) initWithCapacity:size
使用初始容量为size的字符串来初始化字符串

-(void) setString:nsstring
将字符串设置为nsstring

-(void) appendString:nsstring
在接收者的末尾附加nsstring

-(void) deleteCharactersInRange:range
删除指定range中的字符

-(void) insertString:nsstring atIndex:i
以索引i为起始位置插入nsstring

-(void) replaceCharactersInRange:range withString:nsstring
使用nsstring替换range指定的字符

-(void) replaceOccurrencesOfString:nsstring withString:nsstring2 options:opts range:range
根据选项opts。使用指定range中的nsstring2替换所有的nsstring。选项可以包括NSBackwardsSearch(从范围的结 尾 开始搜索)NSAnchoredSearch(nsstring必须匹配范围的开始),NSLiteralSearch(执行逐字节比较以及 NSCaceInsensitiveSearch的按位或组合)

posted @ 2013-09-10 11:33  如来藏  阅读(335)  评论(0编辑  收藏  举报