Objective-C NSString类的常用方法

提示:前面的较为常用

1、创建字符串

实例方法:

- (instancetype)initWithFormat:(NSString *)format

格式化生成一个字符串对象

此方法较为常用,功能强大,用法:[[NSString alloc] initWithFormat:@"i am student at %@ of Technology",@"GuangDong University"];

- (instancetype)  initWithString:(NSString *)aString

根据给定的字符串生成一个字符串对象

- (instancetype)  initWithUTF8String:(const char *)bytes

UTF-8编码格式的C字符串生成一个字符串对象

- (instancetype)initWithCharacters:(const unichar *)characters

                                        length:(NSUInteger)length

根据给定的C字符串(无编码)和字符串长度生成一个字符串对象

类方法:

+ (instancetype)stringWithFormat:(NSString *)format, ...

格式化生成字符串

+ (instancetype)stringWithString:(NSString *)aString

+ (instancetype)stringWithCharacters:(const unichar *)chars

                                             length:(NSUInteger)length

+ (instancetype)stringWithCString:(const char *)cString

                                     encoding:(NSStringEncoding)enc

+ (instancetype)stringWithUTF8String:(const char *)bytes

2、常用属性

@property(readonly) NSUInteger length

得到字符串的长度

@property (readonly, copy) NSString *uppercaseString;

将字符串中的小写字母转换成大写字母

@property (readonly, copy) NSString *lowercaseString;

将字符串中的大写字母转换成小写字母

@property (readonly, copy) NSString *capitalizedString;

将字符串中的单词首字母转换成大写字母,其余的变为小写

@property(readonly) double doubleValue

@property(readonly) float floatValue

@property(readonly) int intValue

@property(readonly) NSInteger integerValue

@property(readonly) long long longLongValue

@property(readonly) BOOL boolValue

得到字符串的基本数据类型

调用方法:str.uppercaseString;  str.lowercaseString;  str.capitalizedString(实例名.属性名)

3、常用方法:

- (NSString *)stringByAppendingFormat:(NSString *)format, ...

在字符串后面添加格式化字符串

- (NSString *)substringFromIndex:(NSUInteger)anIndex

截取子字符串(从anIndex位置字符(包含)开始到字符串结束)

- (NSString *)substringToIndex:(NSUInteger)anIndex

截取子字符串(从0位置截取长度为anIndex个字符的字符串)

- (BOOL)containsString:(NSString *)str

判断字符串里是否包含str字符串

- (BOOL)hasPrefix:(NSString *)aString

字符串是否含有aString字符串前缀

- (BOOL)hasSuffix:(NSString *)aString

字符串是否含有aString字符串后缀

- (BOOL)isEqualToString:(NSString *)aString

判断字符串和aString是否相等

- (NSRange)rangeOfString:(NSString *)aString

查找aString字符串在调用方法的字符串中的范围(起始位置和长度)

- (NSString *)stringByReplacingOccurrencesOfString:(NSString*)target                                                                                                                                                           withString:(NSString *)replacement

将字符串中的子字符串target替换成replacement字符串

- (NSString *)stringByReplacingCharactersInRange:(NSRange)range

                                                           withString:(NSString *)replacement

将字符串中range指定的范围的字符串替换为replacement字符串

- (NSComparisonResult)compare:(NSString *)aString

比较字符串和astring字符串

- (NSString *)stringByAppendingString:(NSString *)aString

在字符串后面添加字符串aString

- (NSString *)substringWithRange:(NSRange)aRange

截取子字符串(范围由aRange中的location和length决定)

NSRange用NSMakeRange(NSUInteger loc, NSUInteger len)方法得到

- (NSArray<NSString *> *)componentsSeparatedByString:(NSString *)separator;

将字符串按照给定的字符串进行截取,将截取的多段字符串放入数组中

- (unichar)characterAtIndex:(NSUInteger)index

取得字符串第index个位置(从0开始)的字符

- (void)getCharacters:(unichar *)buffer

将字符串的内容字符存储到缓存buffer中

- (void)getCharacters:(unichar *)buffer

                       range:(NSRange)aRange

将range指定的范围的字符存储到buffer中

备注:

NSMutableString(可变字符串)

可变的类在定义时一定要先初始化

- (void)appendFormat:(NSString*)format...

在字符串后追加格式化字符串

- (void)appendString:(NSString*)aString

在字符串后添加字符串aString

- (void)deleteCharactersInRange:(NSRange)aRange

删除aRange指定的范围的字符串

- (void)insertString:(NSString*)aString             

                atIndex:(NSUInteger)anIndex

在anIndex位置上插入字符串aString

- (void)replaceCharactersInRange:(NSRange)aRange

                                  withString:(NSString*)aString

将aRange指定范围的字符串替换为aString

- (void)setString:(NSString*)aString

设置字符串为给定字符串aString


转载请注明:作者SmithJackyson

原文地址:https://www.cnblogs.com/smithjackyson/p/5058467.html