天天看點

Objective-C: 字元串NSString與NSMutableString

      字元串算是OC中非常重要和常用的一部分内容,OC中的字元串與我之前在學習C,C++,Java中的字元串有一定的不同,它非常類似于C++中容器的概念,但用法卻與之還是有很大的不同,也許是因為OC的文法就與其他我們常用的程式設計語言不盡相同。

       這裡總結一下字元串NSString與NSMutableString。

一. NSString

      NSString代表字元序列不可變的字元串,NSString的功能非常強大,OC的字元串處理比C語言的餓字元串簡單、易用得多。

      這裡我們通過一個具體的例子來進行分析。

      建立兩個字元串對象: 

      計算字元串中的字元個數:

     利用stringWithString 将一個字元串複制到另一個字元串:

     stringByAppendingString,将一個字元串複制到另一個字元串的末尾:

      isEqualToNumber : 方法比較兩個NSNumber對象的數值。程式會傳回一個BOOL值,檢視這兩個值是否相等。

      isEqualToString,判斷兩個字元串是否相等:

     compare : 方法測試一個值是否在數值上小于、等于或大于另一個值。

如: [intNumber compare : myNumber]

若intNumber 小于 myNumber ,傳回NSOrderedAscending ;

                           相等                    ,傳回NSOrderdSame;

                           大于                    ,傳回NSOrderdDescending

        uppercaseString,将字元串轉換為大寫。

        lowercaseString,将字元串轉換為小寫。

示例代碼如下:

Objective-C: 字元串NSString與NSMutableString
Objective-C: 字元串NSString與NSMutableString

代碼清單

       stringByAppendingString,在字元串後面添加強定的字元串:

       substringToIndex,擷取str的前10個字元組成的字元串:

substringToIndex:方法建立了一個子字元串,包括首字元都指定的索引數,但不包括這個字元。因為索引數是從0開始的,是以參數3表示從字元串中提取0、1、2,并傳回結果字元串對象。對于所有采用索引數作為參數的字元串方法,如果提供的索引數對該字元串無效,就會獲得Range or index out of bounds的出錯資訊。

      substringFromIndex,擷取str從第5個字元開始,與後面字元組成的字元串:

      擷取str從第5個字元開始,到第15個字元組成的字元串:

      rangeOfString , 擷取ios在str中出現的位置:

Objective-C: 字元串NSString與NSMutableString
Objective-C: 字元串NSString與NSMutableString

二. NSMutableString

      NSMutableString對象代表一個字元序列可變的字元串,而且NSMutableString是NSString的子類,是以前面介紹的NSString所包含的方法,NSMutableString都可以直接使用,NSMutableString對象也可直接當成NSString對象使用。

      stringWithString,用不可變字元串建立可變字元串:

       insertString,插入字元:

      insertString:  atIndex:   ,插入末尾進行有效拼接:

      deleteCharactersInRange:NSMakeRange() , 根據範圍删除子字元串:

      查找然後直接删除:

 示例代碼如下:

Objective-C: 字元串NSString與NSMutableString

微信公衆号:

<a target="_blank" href="https://yqfile.alicdn.com/img_e00999465d1c2c1b02df587a3ec9c13d.jpg">猿人谷</a>

如果您認為閱讀這篇部落格讓您有些收獲,不妨點選一下右下角的【推薦】

如果您希望與我交流互動,歡迎關注微信公衆号

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接。