iOS,ios9

來源:互聯網
上載者:User

iOS,ios9

/*________________________NSString(不可變字串)________________________*/

    //________________________1.字串的建立___________________________________//

    //建立字串常量

    NSString *string1 = @"Hello";  //內容不變

    string1 = @"Hello world";

    

    //建立字串

    NSString *string2 = [[NSString alloc] initWithString:@"Hello"];  //string2 = hello

    NSString *string3 = [[NSString alloc] initWithFormat:@"Hello %@",string2]; //string3 = hello hello

    

    NSLog(@"string2 = %@",string2);

    NSLog(@"string3 = %@",string3);

     //initWithFormat可以放預留位置(格式化符)。有拼接功能(字串,包括基礎資料型別 (Elementary Data Type))

    

    //initWtihformat用途樣本:

    //例如:查詢到某一結果,將所有結果拼接後輸出

    NSString *s1 = @"zhangsan";

    NSString *s2 = @"lisi";

    NSString *s3 = @"wangwu";

    

    //拼接字串

    NSString *string4 = [NSString stringWithFormat:@"%@,%@,%@",s1,s2,s3];

    NSLog(@"%@",string4);

    

    //基礎資料型別 (Elementary Data Type)也可以拼接(initWithFormat)

    int age =24;

    NSString *string5 = [[NSString alloc] initWithFormat:@"%@的年齡:%d",s1,age];

    NSLog(@"string5 = %@",string5);

    

    //________________________2.字串的比較______________________________________

    

    NSString *string6 = @"abck";

    NSString *string7 = @"88888";

    

    //一下比較兩個指標地址是否相同,而不是比較字串中的內容

    // if (string6 == string7 )

    

    //* isEqualToString 比較兩個字串中的內容是否相同。(區分大小寫)

    if ([string6 isEqualToString:string7]) {

        NSLog(@"string6與string7內容相同");

    }

    

    NSString *string8 = @"abc";

    NSString *string9 = @"abc";

    if (string8 == string9) {

        NSLog(@"string8 = string9");     //YES

    }

    

    //對比以下

    

    NSString *string10 = [[NSString alloc] initWithFormat:@"abc%@",@"def"];

    NSString *string11 = [[NSString alloc] initWithFormat:@"abc%@",@"def"];

    

        if (string10 == string11) {

            NSLog(@"string10 = string11");     //NO

        }

    

    if ([string10 isEqualTo: string11]) {

        NSLog(@"string10,string11內容相同");    //YES

    }

    

    NSString *string12 = [[NSString alloc] initWithString:@"abc"];

    NSString *string13 = [[NSString alloc] initWithString:@"abc"];

    if (string12 == string13) {

        NSLog(@"string12 = string13");          //YES reason:iniWithString不是在堆區上建立的,而是在常量區建立

    }

    

    /*

        1.initWithString不是在堆區上建立的,而是在常量區建立(此未編譯器的最佳化)

        2.iniWithFormat:在堆區建立。

     */

    

    //__________________字串忽略大小寫比較caxeInsensitiveCompare______________

    

    //比較大小

    NSString *string14 = @"zhangsan";

    NSString *string15 = @"ZHANGSAN";

    

    //caseInsensitiveCompare忽略大小寫比較

    //typedef NS_ENUM(NSInteger, NSComparisonResult) {NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending};

    //- (NSComparisonResult)caseInsensitiveCompare:(NSString *)string;

    NSComparisonResult result = [string14 caseInsensitiveCompare:string15];

    if (result == NSOrderedSame) {

        NSLog(@"string14,string15忽略大小寫比較相同");

    }

    

    NSString *string16 = @"a";

    NSString *string17 = @"b";

    

    NSComparisonResult result2 = [string16 compare:string17];

    if (result2 == NSOrderedAscending) {

        NSLog(@"string16 < string17");

    } else if (result2 == NSOrderedSame){

        NSLog(@"string16 = string17");

              

    } else if (result2 == NSOrderedSame) {

    

        NSLog(@"string16 > string 17");

    

    }

    

    

    //_________________3.字串的其他用法________________

    

    //3.1length:擷取字串的長度

    

    NSString *string18 = @"abcdef"; //@"中文"(長度為2)

    

    NSInteger len = [string18 length];

    NSLog(@"leng= %ld",len);

    

    //3.2轉大小,寫

    NSString *string19 = @"hElllo";

    //uppercaseString:將字串中的字母全都轉成大寫

    NSLog(@"upper:%@",[string19 uppercaseString]);

    

    //轉小寫

    NSLog(@"lower:%@",[string19 lowercaseString]);

    

    //首字母大寫

    NSLog(@"capitalizedString:%@",[string19 capitalizedString]);

    

    

    //3.3將字串轉成本資料類型

    

    NSString *string20 = @"3.14";

    //錯誤:強轉不能改變對象本身

//    float f2 = (float) string20;  //錯誤提示:Pointer cannot be cast be cast to type 'float'

    

    float f = [string20 floatValue];

    NSLog(@"floatValue:%f",f);

    

    NSString *string21 = @"1";

    bool b = [string21 boolValue];  //true

    NSLog(@"%i",b);

    

    //3.4 字串的截取(***)

    NSString *string22 = @"abcdef";

    

    //substringToIndex:從字串的開始位置截取到指定位置(不包含指定位置的字元0

    NSString *substring1 = [string22 substringToIndex:3];

    NSLog(@"subtirng1 = %@",substring1);

    

    

    //substirngFromIndex:從指定位置截取到字串的末尾(包含制定位置的字元)

    

    NSString *substring2 = [string22 substringFromIndex:1];

    NSLog(@"subtirng2 = %@",substring2);

    

    NSRange rang = {1,4};

//    NSRange rang = NSMakeRange(1, 4);  //等小於 NSRange rang = {1,4};

    NSString *substring3 = [string22 substringWithRange:rang];

    NSLog(@"sustirng3 = %@",substring3);

    

    //3.5 字串的追加

    

    NSString *string23 = @"Android";

    //在字串string23後面追加@" ios"

    NSString *string24 = [string23 stringByAppendingString:@" ios"];

    NSLog(@"string24 = %@",string24);

    

    NSString *string25 = [string23 stringByAppendingFormat:@" %@%d",@"ios",7];

    NSLog(@"string25 = %@",string25);

    

    //3.6 字串的尋找rangeOfString

    NSString *string26 = @"www.iphonetrain.com/ios.html";

    NSRange rg = [string26 rangeOfString:@"ios"];

    

    //存在沒有要尋找的字串問題

    //NSNotFound相關定義:enum {NSNotFound = NSIntegerMax};#define NSIntegerMax    LONG_MAX

    if(rg.length != NSNotFound) {

        

        NSLog(@"location:%ld,length:%ld",rg.location,rg.length);

        

    }

相關文章

聯繫我們

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