小白學開發(iOS)OC_ 字串的擷取 (2015-08-11)

來源:互聯網
上載者:User

標籤:包含   track   bst   pool   獲得一個字元   搜尋   tmp   auto   轉換   

//

//  main.m

//  字串的擷取

//

//  Created by admin on 15/8/13.

//  Copyright (c) 2015年 admin. All rights reserved.

//


#import <Foundation/Foundation.h>

/*

    1. 擷取字串長度

    2. 依據字串索引獲得單個字元    //這裡的索引 就是下標

    3. 依據索引獲得一個字串

    4. 依據子串獲得子串在還有一個字串中的索引位置

    5. 依據字串。獲得字串的範圍

 */



int main(int argc,const char * argv[]) {

    @autoreleasepool {

//  1. 擷取字串長度

       NSString *str1 = @"www.baidu.com";

       NSUInteger length = [str1 length];  // NSUIteger 表示的是一個無符號的整型

       NSLog(@"length = %lu",length);

        

/*  2. 依據索引獲得字串中的單個字元

       注意:

     > 給定的索引值必須在0到長度之間。否組會導致異常Range or index out of bounds

     > 假設索引值為負。那麼獲得的值是個負數

 */

       unichar c = [str1 characterAtIndex:0];

       NSLog(@"獲得的字串是:%c",c);

        

//   3. 依據索引值獲得字串的一個子串

        //從索引開始。包含索引取後面的字串

       NSString *tmpstr2 = [str1 substringFromIndex:3];

        //從開頭取字串到索引位置,不包含索引

       NSString *tmpstr3 = [str1 substringToIndex:5];

        // NSRange是個結構體,取字串的範圍,第一個參數為從哪個索引值開始,第二個參數表示取多長

       NSRange s = {6,3};

       NSString *tmpstr4 = [str1 substringWithRange:s];

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

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

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

//  4. 獲得子串在還有一個字串中的索引位置

       NSString *tmpstr5 = @"bai";

        // 在字串中尋找子串。並將索引起始位置location和長度length存入到結構體中

       NSRange tmpRange = [str1 rangeOfString:tmpstr5];

       //  分別列印

       NSLog(@"location = %lu, length = %lu",tmpRange.location,tmpRange.length);

        //  能夠使用NSStringFromRange 把一個Range結構體轉換成字串

       NSString *tmpstr6 = NSStringFromRange(tmpRange);

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

        

        //  推斷是否找到

        if (tmpRange.location ==NSNotFound) {//enum {NSNotFound = NSIntegerMax};

            NSLog(@"tmpstr5不在str1中");

        }else

        {

           NSLog(@"rangeOfString %@",tmpstr6);

        }

//  5. 獲得子串索引範圍

        // 第一個參數為子串,第二個參數為 選擇搜尋的方法

        NSRange tmpRange2 = [str1rangeOfString:@"com"options:NSCaseInsensitiveSearch];

       NSRange tmpRange3 = [str1 rangeOfString:@"com"];

       NSLog(@"tmpRange2 = %@",NSStringFromRange(tmpRange2));

       NSLog(@"tmpRange3 = %@",NSStringFromRange(tmpRange3));

    }

   return 0;

}


小白學開發(iOS)OC_ 字串的擷取 (2015-08-11)

聯繫我們

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