Objective-C 【NSString 的其他常見用法】,objectivecnsstring

來源:互聯網
上載者:User

Objective-C 【NSString 的其他常見用法】,objectivecnsstring
———————————————————————————————————————————
NSString 的其他常見用法

//  NSString 長度、擷取字串中的每個字元、類型轉換、去除前後空格等


#import <Foundation/Foundation.h>

void test1()
{
    //        ①擷取字串的長度,用字串去調用 length 方法(這是一個對象方法,返回值是無符號的長整型)
    NSString *str1=@"12345abc12345王中堯";//無論數字、英文、漢字 都算是一個字元
    
    //        NSUInteger length1=[str1 length];
    NSUInteger length1=str1.length; //這裡是調用length的get方法,和上面一行的作用一樣
    
    NSLog(@"%ld",length1);
}

void test2()
{
//    ②擷取字串中的每一個字元
    NSString *str2=@"faffafs123131,.11~~~!!23!"; //這裡先不考慮中文在字串內,因為我們列印是用的C語言中的東西,用%c、%s、%@都不好使
    NSUInteger len=str2.length;
    unichar c;
    for (int i=0; i<len; i++) {
        c=[str2 characterAtIndex:i];
        printf("%c ",c);
    }
}

void test3()
{
//    ③字串 和 其他資料類型 的轉換
    
//    ★首先我們可以通過一個方法將其他很多種資料類型轉換成字串類型:
    int a=12;
    float b=3.14f;
    
    NSString *str1=[NSString stringWithFormat:@"%d",a];
    NSString *str2=[NSString stringWithFormat:@"%f",b];
    
    NSLog(@"str1 = %@,str2 = %@",str1,str2);
    
//    ★將字串轉化為其他資料類型
    
    //    將字串轉化為int類型
    NSString *str3=@"23";
    int i=[str3 intValue];
    NSLog(@"%d",i);
    
    //    將字串轉化為float類型
    NSString *str4=@"1.234";
    float f=[str4 floatValue];
    NSLog(@"%f",f);
    
    //    將字串轉化為int類型
    NSString *str5=@"2343.3320";
    double d=[str5 doubleValue];
    NSLog(@"%lf",d);
}

void test4()
{
//    ④OC字串對象 和 C語言字串 的相互轉化
    
    //    將 OC字串對象 轉換為 C語言的字串(OC字串是一個對象,所以轉換成C語言字串調用的是 對象方法)
    NSString *str1=@"fasfas121";
    const char *s1=[str1 UTF8String];//注意 UTF8String方法 的返回值是 const char 類型的
    NSLog(@"s1 = %s",s1);
    
    //    將 C語言的字串 轉換為 OC字串對象(C語言的字串不是對象,所以要轉換成OC的字串對象只能通過NSString類調用類方法)
    char ch[]="fafsfas213";
    NSString *ocStr=[NSString stringWithUTF8String:ch];
    NSLog(@"ocStr = %@",ocStr);
}

void test5()
{
    //    ⑤去除字串首尾的 XXXXX
    
    //        首先,以下的四個方法,stringByTrimmingCharactersInSet這個方法名是一定要寫的。到底去除的是什麼,還得看後面NSCharacterSet 類調用什麼類方法。
    
    //1、去除字串首尾的空格
    NSString *str1 = @" itc ast ";
    NSString *newStr1 = [str1 stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
    NSLog(@"-------%@-------",newStr1);
    
    //2、去除字串的首尾大寫字元(首尾如果有多餘的空格,是不會去除空格後面的大寫字母的)
    //        比如說 NSString *str22=@" IOSitAcastIT ";  ,這時就不會去除首尾的大寫字母
    NSString *str2= @"IOSitAcastIT";
    NSString *newStr2  = [str2 stringByTrimmingCharactersInSet:[NSCharacterSet uppercaseLetterCharacterSet]];
    NSLog(@"-------%@-------",newStr2);
    
    //還有很多方法,大家自己查閱資料去嘗試。這一部分不用死記硬背,用的時候查一下會用就行。
}

int main(int argc, const char * argv[]) {
    @autoreleasepool {
//        驗證時調用上面的test1~test5函數即可
    }
    return 0;
}


———————————————————————————————————————————

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關文章

聯繫我們

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