字符串

字符串相關的數據類型
Cocoa框架提供一個與字符串操作相關的結構體NSRange
NSRange
-表示相關事務的范圍,包含兩個成員,一個是location,表示起始的位置

兩個變量

要得到一個起始位置為10,3個長度范圍,有三種方式可以創建


變量的設置.png

第一種直接用字符串的方法
第二種直接給成員賦值
第三種用C語言的聚合結構賦值

三種方式創建字符串.png

字符串
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;
字符串開頭判斷.png

字符串是否包含其他字符串

-(NSRange)rangeOfString:(NSString *)string;

有查找到字符會輸出,如果沒有range.length為NSNotFound

判斷是否有字符串.png
字符串數據類型的轉換

字符串轉換函數
從字符串中獲取相應的數據類型的函數
-(double) doubleValue
-(float) floatValue
-(int) intValue

從第幾個開始截取字符串

從中截取.png

從頭截取

從頭截取.png

截取一定范圍內的字符

從第三個開始,截取五個

范圍截取.png

字符串替換函數

定義一個字符串.png
使用字符串替換方法替換.png
四種字符串替換方法.png
替換已知字符串.png

用指定字符來對數組的進行分割

指定字符來分割字符串.png

可變字符串
-NSString是不可變的字符串,一旦創建之后內容不可修改
-NSString字符串有一個子類NSMutableSting 這是可變的字符串
-使用該類的stringWithCapacity工廠方法可以創建一個新的NSMutalbeString
(id)stringWithCapacity : (unsigned long) capacity;
NSMutableString *mStr = [NSMutableString stringWithCapacity : 40];

在可變字符串上修改內容
-可以通過NSMytableString的方法來增加內容

-(void) appendString:(NSString *) string;
-(void) appendFormat:(NSString *) format,…;
可變字符串的修改.png

字符串的拼接


字符串的拼接.png

可以用這個方法來刪除字符串中的字符
-(void) deleteCharactersInRange:(NSRange) range;

字符串的刪除操作.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容