字符串作為OC語言的基本對象類型,被我們在各種地方廣泛使用,因此熟悉掌握字符串的屬性和方法,是OC必不可少的基礎之一。

    字符串分為可變字符串(NSMutableString)和不可變字符串(NSString),首先我們來學習不可變字符串的屬性與方法。

一、不可變字符串

1.創建不可變字符串

主要有四種方法:

    1.

  2.

  3.

  4.

2.獲取字符串的長度,獲取字符串的長度我們可以使用字符串的length屬性,可以以此判斷字符串是否為空

3.查找子字符串

  1.從字符串開頭查找到你的索引位置(包含索引位置)

  2.從索引位置到結束(不包含索引位置)

  3.查找某個范圍內的子字符串

 

4.字符串的比較,一般有兩種方法,一種是調用方法isEqualToString,另一種是使用關鍵字NSComparisionResult,里面有compare方法,調用這個方法,返回的結果為一個枚舉類型:NSOrderedAscending(升序), NSOrderedSame(等), NSOrderedDescending(降序)

 

5. 兩個對象的比較

        NSString *ob1 = @"Jack";

        NSString *ob2 = @"jacken";

        

        Person *p1 = [[Person new] autorelease];

        Person *p2 = [[Person new] autorelease];

        //注意:p1和p2不是一個對象 只是名字相同而已

//        p1.name = @"Jack";

//        p2.name = @"Jack";

      //當一個對象被添加到一個集合里面(NSArray NSDictionary NSSet)

        //這個對象的引用計數+1

        NSArray *pArray = @[p1];

        p1.name = @"Jack";

        

        NSLog(@"%@", ((Person *)pArray[0]).name);

        

        if ([p1 isEqual:pArray[0]]) {

            NSLog(@"是同一個對象");

        } else{

            NSLog(@"不是同一個對象");

        }

 輸出的是:是同一個對象

6.判斷字符串是否有某一個前綴和后綴

7.是否包含一個字符串

8.子字符串的具體位置和長度

9.將字符串轉換成其他類型,有兩種方法,一是強制類型轉換,即下面的第一種,二是以initWithFormat的方式創建一個新的字符串,即下面的第二種方法

 //字符串的數字 轉化為對應的類型doubleValue floatValue

        NSString *numStr = @"123";

        int num = [numStr intValue];

        

        NSString *ntr = [NSString stringWithFormat:@"%d", age];

 二、可變字符串

  可變字符串相對于不可變字符串,增加的功能主要有增、刪、改、插(插入)。

1.創建可變字符串

2.增

3.刪

4.改

 

5.插

6.重置字符串

  輸出結果: