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

//

//  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 = [str1 rangeOfString:@"com" options:NSCaseInsensitiveSearch];

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

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

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

    }

    return 0;

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章