字符串对象NSString

Objective-C使用NSString类描述字符串

NSString是一种不可变对象,即:对象创建后,值不可改变

NSString提供大量的操作方法:

多样的创建方式

与数值的转换

文件/URL操作

子串的获取

构建新串

描述路径的各种操作

...


字符串对象NSString及基本操作

创建:init方法和类方法

+(instancetype)string//空串+(instancetype)stringWithFormat:(NSString*)format,…//格式化字符串+(instancetype)stringWithUTF8String:(constchar*)bytes//通过C字符串构造

字面值:

NSString*s=@"hello”;//常量方式

基本操作

@property(readonly)constchar*UTF8String//c字符串@property(readonly)NSUIntegerlength//字符串长度-(unichar)characterAtIndex:(NSUInteger)index//获得字符-(BOOL)isEqualToString:(NSString*)aString//判断字符串是否相等


转换成数值

@property(readonly)doubledoubleValue@property(readonly)floatfloatValue@property(readonly)intintValue@property(readonly)NSIntegerintegerValue@property(readonly)longlonglongLongValue@property(readonly)BOOLboolValue


文件及URL操作相关

+(instancetype)stringWithContentsOfFile:(NSString*)pathencoding:(NSStringEncoding)encerror:(NSError*_Nullable*)error-(BOOL)writeToFile:(NSString*)pathatomically:(BOOL)useAuxiliaryFile

+(instancetype)stringWithContentsOfURL:(NSURL*)urlencoding:(NSStringEncoding)encerror:(NSError*_Nullable*)error-(BOOL)writeToURL:(NSURL*)urlatomically:(BOOL)atomically


获得子串及构建新串

-(NSString*)substringFromIndex:(NSUInteger)anIndex-(NSString*)substringWithRange:(NSRange)aRange-(NSString*)substringToIndex:(NSUInteger)anIndex-(NSRange)rangeOfString:(NSString*)aString-(BOOL)hasPrefix:(NSString*)aString-(BOOL)hasSuffix:(NSString*)aString-(NSArray<NSString*>*)componentsSeparatedByString:(NSString*)separator

@property(readonly,copy)NSString*lowercaseString@property(readonly,copy)NSString*uppercaseString-(NSString*)stringByAppendingFormat:(NSString*)format,...-(NSString*)stringByAppendingString:(NSString*)aString


字符串用于表示路径

@property(readonly,copy)NSString*lastPathComponent@property(readonly,copy)NSString*pathExtension@property(readonly,copy)NSString*stringByDeletingLastPathComponent@property(readonly,copy)NSString*stringByDeletingPathExtension-(NSString*)stringByAppendingPathComponent:(NSString*)aString-(NSString*)stringByAppendingPathExtension:(NSString*)ext

可变字符串对象

NSMutableString用于描述可变字符串,是NSString的子类

追加:

-(void)appendString:(NSString*)aString-(void)appendFormat:(NSString*)format,...

删除:

-(void)deleteCharactersInRange:(NSRange)aRange

插入/替换:

-(void)insertString:(NSString*)aStringatIndex:(NSUInteger)anIndex-(void)replaceCharactersInRange:(NSRange)aRangewithString:(NSString*)aString-(void)setString:(NSString*)aString