Objective-C 字符串與可變字符串

知識點app

1.NSString 類的使用函數

2.NSMutableString 類的使用編碼

 

==========================================spa

NSStringorm

1.NSString對象和C類型字符串作對比對象

// OC字符串是對象         c字符串只是單個字母拼接ip

    // oc字符串定義須要@       c字符串不須要內存

    // 打印的時候OC字符串%@     c字符串打印%s字符串

 

 

2.c語言字符串和NSString的轉換string

 

    stringWithCString:encoding:函數

 

    做用:將c字符串按照指定的編碼方式轉換爲oc字符串對象

 

   

3.NSString的建立方式

 

  1)根據現有的c字符串建立

 

  2)stringWithFormat函數拼接字符串<重要>

 

    做用:根據指定格式建立

 

  3)initWithUTF8String函數

 

      做用:經過手動內存分配,而且以C字符串初始化NSString對象

 

  4)stringWithString函數

 

      做用:經過現有的NSString對象的到一個同樣的字符串對象

 

==================================

 

 

NSString的經常使用方法

 

1.比較兩個字符串是否相等

 

    思考:是否能夠經過s1 == s2比較兩個字符串相等

 

  isEqualToString函數<重要>

 

    做用:比較2個字符串是否相等,若是相等返回YES,不等返回NO

 

2.如何獲得字符串的長度

 

  1)length函數<重要>

 

    做用:取得指定字符串對象的長度,返回NSUInteger

 

3.字符串轉化爲數字

 

- (double)doubleValue;

- (float)floatValue;

- (int)intValue;

- (NSInteger)integerValue;

- (long long)longlongValue;

- (BOOL)boolValue;

 

4.大小寫轉化

- (NSString *)uppercaseString;    // 轉成大寫  

- (NSString *)lowercaseString;    // 轉成小寫 

 

5.判斷先後綴

        

後綴:hasSuffix

      前綴:hasPrefix:

   6字符串拼接

 

1) stringByAppendingString 簡單字符串拼接

 

 

2)stringByAppendingPathComponent 拼接路徑字符串

 

 

7.如何比較兩個字符串的大小<重要>

 

  compare函數 s1  ==  s2

 

    做用:比較兩個字符串對象的大小,返回一個NSComparisonResult的枚舉結果

 

NSOrderedAscending = -1表示左側數值小於右側;

 

NSOrderedSame = 0 則相等 

 

  NSOrderedDescending = 1表示右側數值小於左側;

 

 

  8.如何在一段字符串中提取出子字符串

  1)characterAtIndex函數<重要>

 

    做用:取出指定位置中的字符

 

  2)substringFromIndex函數

 

    做用:從指定位置開始向後提取字符串

 

  3)substringToIndex函數

 

    做用:提取從開頭到指定位置的字符串

 

  4)如何在一段字符串中查找另外一個字符串

 

  1)rangeOfString函數@"hello world" @"world"

 

     

  2)從左邊開始查找: rangeOfString<重要>

 

從後面開始查找;rangeOfString options:NSBackwardsSearch

 

做用:查找目標指定字符串是否在目標字符串中

 

  若是存在,返回的NSRange中會包含起始位置和長度

 

  如不存在,NSRange.location == NSNotFound

 

    練習:1.查找"Hi,I am fine,and you"中"fine"字符串的位置

 

 

  5)substringWithRange<重要>

 

做用:提取一個區間位置的字符串

 

NSRange結構體和NSMakeRange函數

 

做用:建立一個區間,用以告訴字符串對象要提取的子串範圍

 

 

    練習: 1.從"Hi,I am fine,and you"中提取出"I am fine,and you"子串

      2.從"Hi,I am fine,and you"中提取出"Hi,I am fine"子串

      3.從"Hi,I am fine,and you"中提取出"I am fine"子串

 

—— 數下標———

sub*****

 

 

—— 不數下標——

range***

sub****

 

 

練習:

 

在一個字符串裏查找另一個字符串出現的次數;

 

NSString *str1 = @「我是一個字符串  字符串  字符串」

NSString *Str2 = @「字符串」

 

 

 

=================================

NSMutableString

   

1.NSMutableString和NSString的關係

 

2.如何建立一個NSMutableString對象

 

  1)string函數

 

    做用:建立一個空的可變字符串對象 空串

 

=================================

NSMutableString的經常使用方法

 

1.如何重置NSMutableString的內容

 

  1)setString函數

 

    做用:將當前字符串中的內容設置爲新的字符串

 

2.如何在字符串後面添加內容

 

  1)appendString函數

 

    做用:在當前字符串末尾追加新的字符串

 

  2)appendFormat函數<重要>

 

    做用:經過指定格式追加

 

練習:1.分別定義姓名,年齡,性別變量並初始化

最後將該些變量經過上述方法追加到"hello"字符串後

 

 

 

3.如何在字符串中插入內容<重要>  

 

  1)insertString:atIndex函數

 

    做用:將指定字符串插入到目標字符串指定位置

 

4.如何刪除字符串中的內容

 

  1)deleteCharactersInRange函數

 

    做用:刪除NSRange指定範圍中的字符串

 

5.如何修改其中一段內容<重要>

 

  1)replaceCharactersInRange:withString函數

 

    做用:將NSRange指定範圍中的字符串替換爲指定內容

 

練習:

 

字符串的逆序:

 

NSString *s =  @「fire in the hole」;

 

@「eloh eht ni erif」;   

 

 

length ,   char*****,   append****

 

 

 

思路:  從字符串最後一個字符開始獲取,一個字一個字地獲取出來,  添加到可變字符串後面; 

 

 

字符串單詞逆序:

 

@「fire in the hole」;

 

每個單詞以一個空格隔開:

 

@「hole the in fire」;

 

 

rangeOf:   options:NSBackWarkSearch,  substringFromIndex: , appendString,  substringToIndex: 

 

while(1)

{

 

}

 

 

思路:    從後面開始查找空格「 」,  獲取後面字符串,添加到一個可變字符串後面, 獲取子串繼續查找;

 

 

 

==================================

類中的description方法

 

description方法是NSObject類的一個實例方法,全部的objective-C類都是NSObject類的子類,所以全部的Objective-C對象都具備description方法。該方法一般用於實現自我描述信息的打印。

 

 

description方法的默認實現是返回這樣的格式: <類名: 地址>;

 

 

重寫:

- (NSString *)description

{

return oc的字符串;

}

 

 

 

 

 

 

 

=========================================================

 

做業:

一、在字符串welcome to qianfeng中刪除to    

 

二、hello world中間插入qianfeng:  hello qianfeng world

 

三、@"When I was young, I loved a girl on neighbour class." 替換部分紅:

When I was teacher, I rather teaching the students on neighbour class.

 

四、在字符串When I was young, I loved a girl on neighbor class.裏找出 字串was young,I loved a girl

 

五、把三個字符串My name is Sean,I come from China,I am 45 years old鏈接起來成一個字符串;

 

六、welcome to guangzhou        根據範圍找出字串come

 

七、welcome to guangzhou      找出字符串guangzhou字符串的範圍;

相關文章
相關標籤/搜索