1.NSString
Objective-C的字符串(NSString),结尾没有隐藏的\0。
构造方法:
//1、直接赋值
@""
//2、格式初始化
[NSString stringWithFormat:@""];
[[NSString alloc] initWithFormat:@""];
//3、创建不赋值
[NSString string];
//用以下这两种方法,编译器会报错,帮你Fix为@""直接赋值
[NSString stringWithString:@""];
[[NSString alloc] initWithString:@""];
//但是可以用其他字符串创建
[NSString stringWithString:str];
[[NSString alloc] initWithString:str];
NSString的属性:
//字符串的属性,推荐使用点语法
NSInteger length //字符串的长度
double doubleValue //将str转为double
float floatValue //将str转为float
int intValue //将str转为int
NSInteger integerValue //将str转为NSInteger
long long longLongValue //将str转为longLong
BOOL boolValue //将str转为BOOL
NSString *uppercaseString //str的全部大写
NSString *lowercaseString //str的全部小写
NSString *capitalizedString //str的首字母大写
//以下作用未知
NSString *description
NSUInteger hash
截取方法:
//截取range范围内的
- (NSString *)substringWithRange:(NSRange)range;
//从头截取到to处为止,to后面的都不要
- (NSString *)substringToIndex:(NSUInteger)to;
//从from处开始截取到最后,from处之前的都不要
- (NSString *)substringFromIndex:(NSUInteger)from;
比较方法:
//比较字符串
- (NSComparisonResult)compare:(NSString *)string;
//不区分大小写比较
- (NSComparisonResult)caseInsensitiveCompare:(NSString *)string;
判断方法:
//是否以str为开头
- (BOOL)hasPrefix:(NSString *)str;
//是否以str为结尾
- (BOOL)hasSuffix:(NSString *)str;
//判断是否与aString相等
- (BOOL)isEqualToString:(NSString *)aString;
//判断字符串中是否包含str
- (BOOL)containsString:(NSString *)str;
//判断searchString在str中的位置
- (NSRange)rangeOfString:(NSString *)searchString;
- (NSRange)rangeOfString:(NSString *)searchString options:(NSStringCompareOptions)mask;
- (NSRange)rangeOfString:(NSString *)searchString options:(NSStringCompareOptions)mask range:(NSRange)rangeOfReceiverToSearch;
//返回两个字符串中相同的前缀字符串
- (NSString *)commonPrefixWithString:(NSString *)str options:(NSStringCompareOptions)mask;
追加方法:
//字符串后面按格式追加字符串
- (NSString *)stringByAppendingFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);
//字符串后面直接追加字符串
- (NSString *)stringByAppendingString:(NSString *)aString;
2.NSMutableString
NSMutableString是NSString子类,NSString中的属性和方法自然都可以使用,以下只介绍NSMutableString独有的方法。
构造方法:
//NSMutableString不能使用@""直接赋值
//所以NSMutableString有一个类似NSString *str= @""的方法
//重设
- (void)setString:(NSString *)aString;
//capacity为预设长度
- (NSMutableString *)initWithCapacity:(NSUInteger)capacity;
+ (NSMutableString *)stringWithCapacity:(NSUInteger)capacity;
常用方法:
//用aString替换range范围内的字符串
- (void)replaceCharactersInRange:(NSRange)range withString:(NSString *)aString;
//插入,将aString插入到字符串的loc处
- (void)insertString:(NSString *)aString atIndex:(NSUInteger)loc;
//删除range范围内的字符
- (void)deleteCharactersInRange:(NSRange)range;
//在末尾追加字符串
- (void)appendString:(NSString *)aString;
- (void)appendFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);