Objective-C 字串與可變字串

來源:互聯網
上載者:User

標籤:

知識點

1.NSString 類的使用

2.NSMutableString 類的使用

 

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

NSString

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

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

    // oc字串定義需要@       c字串不需要

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

 

 

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

 

    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的字串;

}

 

 

 

 

 

 

 

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

 

作業:

1、在字串welcome to qianfeng中刪除to    

 

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

 

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

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

 

4、在字串When I was young, I loved a girl on neighbor class.裡找出 字串was young,I loved a girl

 

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

 

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

 

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

 

Objective-C 字串與可變字串

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.