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 *)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