iOS-NSString、NSMutableString

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

猜你喜欢

转载自blog.csdn.net/qq_36557133/article/details/86755913