字符串相关的数据类型
Cocoa框架提供一个与字符串操作相关的结构体NSRange
NSRange
-表示相关事务的范围,包含两个成员,一个是location,表示起始的位置
要得到一个起始位置为10,3个长度范围,有三种方式可以创建
第一种直接用字符串的方法
第二种直接给成员赋值
第三种用C语言的聚合结构赋值
字符串
Cocoa框架用来处理字符串的类是NSString
字符串是字符序列,使用
@"内容"
-这就是NSString类型的字面量形式
-C语言中使用字符数组来处理字符串
-Cocoa框架中NSString类中有很多处理字符串的方法
创建字符串
可以使用普通的声明对象方式创建字符串
NSString *string =@"字符串内容";
NSString *string =[NSString new];
可以使用NSString的类方法穿件字符串
NSString *string=[NSString stringWithFormat:@%d格式%d",5,11];
//string中的内容为"5格式11"
+(id)stringWithFormat:@"格式化表示符"...
+号是类方法,...三个点表示可变参数
NSString中的工厂方法
-stringWithFormat是一个类方法,可以产生一个NSSting对象
-很多类方法都是用来产生新对象,这样的类方法称为工厂方法
-string方法用于产生一个空字符串
-stringWithString方法用在浅拷贝一个现有的字符创,并产生一个字符串
NSString *str4=[NSString string];
NSString *str5=[NSString stringWithString:@"Hello"];//用于浅拷贝一个现有字符串产生字符串
以上都是字符串的创建
字符串的长度
NSString中提供了一个实例方法length,用于返回一个字符串中的字符个数(长度)
-(unsighed int)length;
使用这个方法取得字符串的长度
字符串的比较
-比较字符串是最常用的操作,分为两种
1.比较两个字符串(指针)
2.比较两个字符串(内容)
-isEqueITString 方法返回BOOL型结果
比较字符串的大小
-使用compare方法进行字符串的大小比较
-(NSComparisonResult)compare:(NSString *)string;
NSOrderedAscending =-1, //小于
NSOrderedSame =0, //等于
NSOrderedDescending=1; //大于
//是一个枚举的类型
上例代码中rst的结果为0
字符串不区分大小写的比较
-compare 方法比较字符串分时区分大小写
-compare:option 方法比较字符串时可以额外控制其他选项,例如是否区分大小写
-(NSComparisonResult)compare:(NSString*)string
option:(NSStringCompareOptions)mask;
-NSStringCompareOption有以下三个值:
1.NSCaseInsensitiveSearch:不区分大小写字符
2.NSLiteralSearch:区分大小写,进行完全比较
3.NSNumericSearch:根据字符串中数字大小进行比较,而不是ASCII码值
三个选项可以使用|进行多选(或符号)
字符串大小写转换函数
-(NSString *)uppercaseString
-(NSString *)lowercaseString
-(NSString *)capitalizedString
字符串是否以其他字符串开头和结尾
判断开头
-(BOOL)hasPrefix:(NSString *)string;
判断结尾
-(BOOL)hasSuffix:(NSString *)string;
字符串是否包含其他字符串
-(NSRange)rangeOfString:(NSString *)string;
有查找到字符会输出,如果没有range.length为NSNotFound
字符串转换函数
从字符串中获取相应的数据类型的函数
-(double) doubleValue
-(float) floatValue
-(int) intValue
从第几个开始截取字符串
从头截取
截取一定范围内的字符
从第三个开始,截取五个
字符串替换函数
用指定字符来对数组的进行分割
可变字符串
-NSString是不可变的字符串,一旦创建之后内容不可修改
-NSString字符串有一个子类NSMutableSting 这是可变的字符串
-使用该类的stringWithCapacity工厂方法可以创建一个新的NSMutalbeString
(id)stringWithCapacity : (unsigned long) capacity;
NSMutableString *mStr = [NSMutableString stringWithCapacity : 40];
在可变字符串上修改内容
-可以通过NSMytableString的方法来增加内容
-(void) appendString:(NSString *) string;
-(void) appendFormat:(NSString *) format,…;
字符串的拼接
可以用这个方法来删除字符串中的字符
-(void) deleteCharactersInRange:(NSRange) range;