字符串相關的數據類型
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;