Objective-C NSString的方法

來源:互聯網
上載者:User

標籤:

 今天主要練習NSString NSMutableString NSArray NSMutableArray 

NSString(字串)

        方法1: [[NSString alloc] initWithFormat:@""] 建立一個字串的對象,並將其格式化,然後給字串對象進行賦值

        方法2: stringWithFormat:@"" 結構等於[[NSString alloc]initWithFormat:@""]; 便利構造器建立字串

        方法3:stringWithUTF8String 將C語言字串轉化為OC的字串對象,這個很重要 注:我是C語言字串,所以沒有加@符號

        以上的方法是為了瞭解NSString 下面我們介紹一下NSString的12個方法

        建立一個字串的對象,並且給字串對象賦值一個網站

        NSString *str = [[NSString alloc] initWithFormat:@"http://item.taobao.com/item.htm?spm=a230r.1.14.83.wdbg0h&id=44327943363&ns=1&abbucket=2#detail"];

        //1.擷取字串的長度 關鍵字length

        NSInteger length = [str length];

        //2.將字串對象變成大寫的 關鍵字 uppercaseString

        NSString *upperStr = [str uppercaseString];

        //3.將字串對象變成小寫 關鍵字 lowercaseString

        NSString *lowerStr = [str lowercaseString];

        //4.判定字串開頭 關鍵字:hasPrefix

        BOOL isBegin = [str hasPrefix:@"http:"];

        //1代表YES 或者 TRUE

        //5.判定字串結尾 關鍵字hasSuffix

        BOOL isEnd = [str hasSuffix:@"http:"];        

        //6.對字串進行拼接 關鍵字:stringByAppendingString 注:會經常使用

        NSString *appendStr = [str stringByAppendingString:@"/pinjie"];

        //7.對字串進行替換 關鍵字:stringByReplacingOccurrencesOffString

        //注:替換的是字串,而不是字元

        NSString *replaceStr = [str stringByReplacingOccurrencesOfString:@"http" withString:@"mmmm"];

        //8.對字串進行比較 關鍵字:compare 注:會經常使用

        //注:列印結果如果為-1 表示前面的小 如果是0 表示兩個相等 如果是1 表示前面的大

        NSInteger result = [@"cc" compare:@"bb"];        

        //9.判斷字串是否相等 關鍵字:isEqualToSting

        BOOL isEqual = [@"ab" isEqualToString:@"ac"];

        //10.1 截取字串 關鍵字:substringFromIndex

        NSString *subStr1 = [str substringFromIndex:10];

        //substringFromIndex: 表示從給定的下標開始截取到字串結束(包含當前下標);        

        //10.2 截取字串 關鍵字:substringToIndex

        NSString *subStr2 = [str substringToIndex:25];

        //截取第一個字元到第25個        

        //10.3 截取字串 關鍵字:substringWithRange

        //OC中提供了很多可以快速建立結構體的方法,主要以NSMake開頭 + 對應的結構體名字,例如:(NSMakeRange(位置)(長度))

        NSString *rangeStr = [str substringWithRange:NSMakeRange(7, 25)];   

        //11.擷取字串的範圍 rangeOfString

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

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

        //12.將基本類型轉化為字串 關鍵字:initWithFormat

        //NSString *intStr = [[NSString alloc] initWithFormat:@"%d",10];

        NSString *intStr = @"10";//笑笑文法

        //對於NSString對象來說,是不可以改變的,不管以上的那種方法對NSString做了什麼操作,都並沒有該表NSString的本身,而是改變了NSString的副本.

        //如果想要對NSString本身進行改變,那麼就需要使用它的子類NSMutableString 在以上方法的基礎上,多了增 刪 改

        NSMutableString *strmut = [[NSMutableString alloc] initWithFormat:@"我是可變的字串"];

        //插入方法 關鍵詞:insert

        [strmut insertString:@"哈哈" atIndex:8];

        NSLog(@"%@",strmut);

        //列印結果為:我是可變的字串哈哈

        //拼接方法 關鍵詞:append

        [strmut appendString:@"/你笑啥"];

        //列印結果為:我是可變的字串哈哈/你笑啥

        //刪除方法 關鍵詞:delete

        [strmut deleteCharactersInRange:NSMakeRange(6,7 )];

        //重設方法 關鍵字:set

         [strmut setString:@"我一直都在變化"];

 

        

 

NSArray (數組)

        //建立三個字串對象

        NSString *str1 = [NSString stringWithFormat:@"iPhone4"];

        NSString *str2 = [[NSString alloc] initWithFormat:@"iPhone5"];

        NSString *str3 = @"iPhone6";

        NSLog(@"%@ %@ %@",str1,str2,str3);

        NSArray

        方法1: initWithObjects 因為是數組,所以需要傳入多個對象,這些對象之間用","隔開,最後以nil結尾.

        建立一個數組對象來接收所傳入的對象們.

        NSArray *arr1 = [[NSArray alloc] initWithObjects:str1,str2,str3, nil];

        NSLog(@"%@",arr1);

        方法2:objectAtIndex: 通過下標找到對象 只會找到第一個符合的對象,即使在第一個對象之後在有符合的也不會顯示,找到第一個之後,就回返回.

        NSString *str = [arr1 objectAtIndex:1];

        NSLog(@"%@",str);//NSString類型 iPhone5

        NSInteger index = [arr1 indexOfObject:str2];

        NSLog(@"%ld",index);//arr1下標為1

        //方法3:查看數組元素個數

        NSInteger count = [arr1 count];

        NSLog(@"%ld",count);//結果:arr1裡有3個元素

        方法4:通過便利列印出各個元素

        for(int i = 0; i < arr1.count; i++){

            NSLog(@"%@",[arr1 objectAtIndex:i]);

        }

        方法5:排序 sortedArrayUsingSelector:@selector(compare:)這個方法是系統提供的,內部已經做好了排序的,所以知道方法就好,不需要過分的追究.

        NSArray *sortArray = [arr1 sortedArrayUsingSelector:@selector(compare:)];

        NSLog(@"%@",sortArray);

NSMutableArray(可變數組)

        //NSMutableArray 繼承與NSArray 所以NSArray的方法NSMutableArray也都可以使用

        //建立可變的數組對象

        NSMutableArray *mutArray = [[NSMutableArray alloc] initWithObjects:str1,str3, nil];

        方法1:添加  addObject

        [mutArray addObject:str1];

        [mutArray addObject:str2];

        [mutArray addObject:str3];

        NSLog(@"%@  %@   %@",str1,str2,str3);

        方法2:刪除  removeObjectAtIndex

        [mutArray removeObjectAtIndex:1];

        [mutArray removeObjectAtIndex:0];

        [mutArray removeObjectAtIndex:2];

        NSLog(@"%@",mutArray);

        方法3:交換  exchangeObjectAtIndex:

        [mutArray exchangeObjectAtIndex:1 withObjectAtIndex:0];

        NSLog(@"%@",mutArray);

        方法4:排序 sortUsingSelector:@selector(compare:)

        NSString *str1 = @"Jack";

        NSString *str2 = @"Henry";

        NSString *str3 = @"ELyse";

        NSString *str4 = @"John";

        NSString *str5 = @"Justin";

        NSMutableArray *mutableArray = [[NSMutableArray alloc] initWithObjects:str1,str2,str3,str4,str5, nil];

        [mutableArray sortUsingSelector:@selector(compare:)];

        NSLog(@"%@",mutableArray);

        //方法5:擷取數組第一個元素 firstObject

        [mutableArray firstObject];

        NSLog(@"%@",mutableArray.firstObject);

        //方法5:擷取數組最後一個元素

        [mutableArray lastObject];

        NSLog(@"%@",mutableArray.lastObject);

    }

    return 0;

Objective-C NSString的方法

相關文章

聯繫我們

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