NSString字串類型-學習總結,

來源:互聯網
上載者:User

NSString字串類型-學習總結,
1.字串的建立(1)建立常量字串

NSString *str = @"This is a String";  //str是變數名

(2)建立空的字串,給字串賦值

NSString *str = [NSString alloc] init];

str = @"科比 布萊恩特"; //直接賦值

(3)花樣賦值

<1>使用初始化方法:initWithFormat:根據一定的字串格式來初始化字串對象,將格式串中的內容寫入字串對象空間內

NSString *str = [[NSStringalloc] initWithFormat:@"iphon%@",@"e6"];

<2>使用便利構造器stringWithFormat:來快速建立對象,內部進行alloc以及初始化操作,內部將initWithFormat初始化方法來進行初始化

NSString *str =[ NSString stringWithFormat:@"逗比%@",@"兒"];

<3>用標準C語言建立字串

char *name = "say hello";

NSString *sayHello = [[NSString alloc] initWithUTF8String:name];

2.求取字串的長度(關鍵詞:length)

NSString *str =@"明明知道相思苦";

NSUInteger length = str.length;    //或者 [str length]也可以     length 在OC中是屬性存在,可以直接調用

NSLog(@"%ld",length);

3.字串的拼接(關鍵詞:append)

    NSString *str1 = @"波多野結衣";        

    NSString *str2 = @"是AV女憂";  

方法1:

    NSString *str3 = [str1 stringByAppendingString:str2];            //由於NSString是不可變字串,因此只能返回新的字串,元字串不變

方法2

    NSString *str4 = [str1 stringByAppendingFormat:@"%@是小日本%@",@"18,"@"的明星"];

4,字串的截取(關鍵詞:sub)

    NSString *str = @"say goodbye";

<1>從指定位置開始(包括該指定位置的字元),截取之後所有字元

    NSString *str1 = [str substringFromIndex:3];

<2>從字串開頭一直截取到指定位置,但是不包括該位置的字元

    NSString *str2 = [str substringToIndex:3];

<3>按照所給的位置和長度,從字串中截取子串

    NSString *str3 = [str substringWithRange:NSMakeRange(2, 2)];        // NSMakeRange 快速構建NSRange(下標,長度)

5,字串大小寫轉換

    NSString *str = @"xiAo m/eI mei";

    NSLog(@"%@",[str uppercaseString]);    //全部改成大寫

    NSLog(@"%@",[str lowercaseString]);    //全部改成小寫

    NSLog(@"%@",[str capitalizedString]);    //首字元大寫,包括空格和字元斷開的情況,也改成大寫

 6.字串各種比較

  NSString *str1 = @"hello boby";

  NSString *str2 = @"hello dowhat";

<1> 比較字串的地址

  BOOL b = (str1 == str2);      // 比的是兩個字串的記憶體位址

      NSLog(@"%d",b);

<2>兩個字串的值是否相等

    BOOL b = [str1 isEqualToString:str2];    //比的兩個字串的內容是否相同,返回一個BOOL類型值

    NSLog(@"%d",b);

<3> 對字串大小進行比較

    NSComparisonResult result = [str1 compare:str2];    //按照字母進行比較,設定一個枚舉的類型傳回值,傳回值(NSOrderedSame   NSOrderedAscending  NSOrderedDescending)

    switch (result) {  

           case  NSOrderedSame:

                NSLog(@"相同");

                       break;

            case  NSOrderedAscending:

                 NSLog(@"前小後大");

                        break;

            case  NSOrderedDescending:

                   NSLog(@"前大後效");

                        break;

            default:

                        break;

                }

<4>判斷字串是否以某個字元開頭/結尾(關鍵詞has)

        BOOL b3 = [str1 hasPrefix:@"boby"];  //對字串首碼進行判斷

        BOOL b4 = [str2 hasSuffix:str1];     // 對字串尾碼進行判斷

<5>尋找字串中是否包含某字元

     NSRange range = [str rangeOfString:@"hi"];

     if (range.location != NSNotFound) {

     }

  else{

     }

 7.字串拷貝

    NSString *str8 = [NSString stringWithString:str3];    //字串屬性遵循copying協議

    NSLog(@"%@",str8);

 8.字元中內容的替換(關鍵字replacing)

    NSString *string1 = @"abcdefg",*string2 = @"higkllmn";

    NSString *str1 = [string1 stringByReplacingCharactersInRange:NSMakeRange(2, 3) withString:string2];      //從中間截取幾個字串替換為withString後面的字元

    NSString *str2= [string1 stringByReplacingOccurrencesOfString:@"a"withString:@"ABV"];        //把字串中的出現過的字元"a"全部替換為"ABV"

 

 9. 可變的字串類型

    NSString是不可變字串,不能刪除字元或添加字元(上面的操作都會開闢一個新的字串來儲存添加或替換後的字串,原串並不會改變).

    Cocoa提供了一個 NSString的子類: NSMutableString.由於是NSString的子類,所以NSMutableString繼承了NSString的所有方法.

  當我們建立可變的字串(或者之後學習的所有可變數組,字典,集合等)一定要先初始化,再進行使用.  

<1>初始化方法

    NSMutableString *mutablestring = [NSMutableString  string];    //類方法初始化(使用極少)

    NSMutableString *mstr1 = [[NSMutableString  alloc] init];      //init執行個體方法初始化

    NSMutableString *mstr2 = [[NSMutableString  alloc] initWithCapacity:0];  //指定初始化方法,capacity是申請記憶體空間,但兄台那個會根據字串的增減自動調整記憶體空間大小(工程中使用較多)

<2>自己專屬的SDK

    [mstr1 setString:@"嘿嘿嘿"];    //對一個字串進行賦值或重設(替換原來的內容)

    NSMutableString *mstr3 = [NSMutableString stringWithFormat:@"四是四,十是十,四十是四十"];

    [mstr3 insertString:@"逗比"atIndex:1];    //插入一個字串,在某一個位置

    [mstr3 deleteCharactersInRange:NSMakeRange(3, 2)];    //刪除某一個範圍內的字串

 NSMutableString *m1 = [NSMutableStringstringWithCapacity:0];

    NSMutableString *m2 = [NSMutableStringstringWithString:@"Tom"];

    [m1 appendString:@"哈哈"];  //給字串賦值(OC比較靈活)

    [m1 appendFormat:@"age is %d",12];    //在後面插入某一段字串

    [m1 replaceCharactersInRange:NSMakeRange(3, 2) withString:@"逗比"];  //替換掉字元竄中的內容,在自己選擇位置

    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.