OC中的NSNumber、NSArray、NSString的常用方法,nsnumbernsarray

來源:互聯網
上載者:User

OC中的NSNumber、NSArray、NSString的常用方法,nsnumbernsarray
和C語言不同,在Objective-C語言中,有單獨的字串類NSString。C語言中,string是由 char(ASCLL碼)字元組成OC中,字串是由unichar(Unicode)字元組成NSString,不可變字串,即:建立以後,內容和長度不能更改NSMutableString,可變字串,即:建立以後,內容還可以修改在使用喲個字串對象之前首先建立一個新的字串,可以使用執行個體方法和便利構造器NSString常用的方法1、使用執行個體方法和便利構造器建立一個新的字串2、擷取字串長度3、擷取子字串4、拼接字串5、替換字串6、字串相等7、字串比較使用初始化方法建立    NSString *str1 = [[NSString alloc] initWithString:@"name"];    NSLog(@"%@",str1);
    NSString *str11 = @"name";    NSLog(@"%@",str11);使用執行個體方法建立    NSString *str2 = [NSString stringWithString:@"name"];
    NSLog(@"%@",str2);
    NSString *str22 = @"name";
    NSLog(@"%@",str22); char *cStr= "hehe";將c語言字串轉成OC的對象    NSString *str3 = [[NSString alloc] initWithCString:cStr encoding:NSUTF8StringEncoding];
    NSLog(@"%@",str3);
    NSString *str4 = [NSString stringWithCString:cStr encoding:NSUTF8StringEncoding];
    NSLog(@"%@",str4);根據指定格式建立字串    NSString *str5 = [[NSString alloc] initWithFormat:@"%@+%d",@"duke",1001];
    NSLog(@"%@",str5);
    NSString *str6 = [NSString stringWithFormat:@"%@+%d",@"duke",1001];
    NSLog(@"%@",str6);根據指定路徑的檔案內容建立字串對象    NSString *str7 = [[NSString alloc] initWithContentsOfFile:@"/Users/lanouhn/Desktop/未命名.txt" encoding:NSUTF8StringEncoding error:nil];
    NSLog(@"%@",str7);
    NSString *str8 = [NSString stringWithContentsOfFile:@"/Users/lanouhn/Desktop/未命名.txt" encoding:NSUTF8StringEncoding error:nil];
    NSLog(@"%@",str8);求字串對象的長度    NSInteger length = [str8 length];
    NSLog(@"%ld",length);判斷一個字串是否擁有前置詞字元串    BOOL result1 = [str8 hasPrefix:@"李"];
    NSLog(@"%@",result1 ? @"YES" : @"NO");判斷一個字串是否擁有尾碼字串    BOOL result2 = [str8 hasSuffix:@"李"];
    NSLog(@"%@",result2 ? @"YES" : @"NO");判斷兩個字串是否相同    BOOL result3 = [str8 isEqualToString:str7];
    NSLog(@"%@",result3 ? @"YES" : @"NO");字串比較排序結果    NSComparisonResult result4 = [str8 compare:str7];
    NSLog(@"%ld",result4);//升序為-1,降序為1,相同為0擷取子字串從指定下標(包含指定下標)到字串結束的子字串    NSString *subStr1 = [str8 substringFromIndex:2];
    NSLog(@"%@",subStr1);從字串開始到指定下標的字元(不包含指定下標)的子字串    NSString *subStr2 = [str8 substringToIndex:2];
    NSLog(@"%@",subStr2);NSRange為結構體類型,成員location描述下標位置,成員length描述需要截取的子字串長度    NSRange range = NSMakeRange(1, 3);
//    NSRange range = {1,3};
    NSString *subStr3 = [str8 substringWithRange:range];
    NSLog(@"%@",subStr3);
字串拼接根據給定的參數字串拼接產生新的字串,不改變原有的字串    NSString *newString1 = [str8 stringByAppendingString:@"叉1001"];
    NSLog(@"%@",newString1);根據指定的格式串以及參數去拼接產生新的字串    NSString *newString2 = [str8 stringByAppendingFormat:@"%d",1001];
    NSLog(@"%@",newString2);路徑拼接    NSString *newString3 = [str8 stringByAppendingPathComponent:@"xx.avi"];
    NSLog(@"%@",newString3);字串的替換通過給定的第二個字串替換str8中當前存在的字串    NSString *newString4 = [str8 stringByReplacingOccurrencesOfString:@"李X" withString:@"無雙"];    NSLog(@"%@",newString4);尋找字串    NSString *link = @"abdjofepok = _nieifn";
    NSRange range1 = [link rangeOfString:@"pok = _nie"];
    NSLog(@"%@",NSStringFromRange(range1));
    if (range1.location != NSNotFound) {
        NSLog(@"founded");
    }字串與數值類資料的轉換    NSString *numString1 = @"1";
    NSInteger integerValue = [numString1 integerValue];
    NSLog(@"%ld",integerValue);大小寫轉換    NSString *string = @"i love you";轉成大寫    NSString *upperCaseStr = [string uppercaseString];
    NSLog(@"%@",upperCaseStr);轉成小寫字串    NSString *lowCaseStr= [upperCaseStr lowercaseString];
    NSLog(@"%@",lowCaseStr);轉成首字母大寫字串    NSString *capitalString = [string capitalizedString];    NSLog(@"%@",capitalString); NSMutableString(可變字串)NSMutableString是NSString的子類,通過NSMutableString建立的字串是一個動態可變的字串,可以對字串進行增刪改等操作常用方法包括:建立一個新的字串拼接字串插入字元刪除字元    NSMutableString *mutableStr1 = [[NSMutableString alloc] init];
    NSLog(@"%@",mutableStr1);    NSMutableString *mutableStr2 = [NSMutableString string];可變字串的拼接stringByAppendingString    [mutableStr1 appendString:@"abcdeg"];
    NSLog(@"%@",mutableStr1);
    NSString *resultString = [mutableStr1 stringByAppendingString:@"xxxxx"];
    NSLog(@"%@",mutableStr1);    NSLog(@"%@",resultString);這種字串拼接,不改變原來的對象另一個字串拼接方法stringByAppendingFormat    [mutableStr2 appendFormat:@"duke + %d",1001];
    NSLog(@"%@",mutableStr2); 刪除字串    [mutableStr2 deleteCharactersInRange:NSMakeRange(4,6)];
    NSLog(@"%@",mutableStr2); 插入字串在給定的下標之前插入新的字串    [mutableStr2 insertString:@"heheh" atIndex:0];
    NSLog(@"%@",mutableStr2); 替換字串根據給定的字串替換指定範圍的字元門    [mutableStr2 replaceCharactersInRange:NSMakeRange(0, 5) withString:@"hehe"];    NSLog(@"%@",mutableStr2);下面是一個執行個體分別通過不可變字元方法和可變方法去解答 給定一個圖片檔案名稱,判斷字串中是否以“png”結尾,如果是就替換成“jpg”,如果 不是,就拼接”.jpg”。  不可變字串
    NSString *picName = [NSString stringWithFormat:@"image.png"];
    NSString *resultStr = nil;
    if ([picName hasSuffix:@"png"]) {
        resultStr = [picName stringByReplacingOccurrencesOfString:@"png" withString:@"jpg"];
    } else {
        resultStr = [picName stringByAppendingString:@".jpg"];
    }
    NSLog(@"%@",resultStr);

可變字串
    NSMutableString *picture = [NSMutableString stringWithString:picName];
    if ([picture hasSuffix:@"png"]) {
        [picture replaceCharactersInRange:[picture rangeOfString:@"png"] withString:@"jpg"];
    } else {
        [picture appendString:@".jpg"];    }    NSLog(@"%@",picture);  OC中存放資料的容器類都稱為集合(collection)數組是有序集合,只能存放對象數組有下標(index)的概念,靠index來索引元素,下標從0開始數組分不可變數組(NSArray)和可變數組(NSMutableArray)常用的方法是:建立數組對象,使用執行個體初始化或便利構造器擷取元素個數根據index擷取對象     //定義NSArray
    NSArray *array1 = [[NSArray alloc] initWithObjects:@"1",@2,@"哈哈",nil];
    NSLog(@"%@",[array1 description]);
    NSArray *array2 = [NSArray arrayWithObjects:@"1",@2,@"",nil];
    NSLog(@"%@",array2);
//數組的文法糖形式 (literal,字面量)
    NSArray *array3 = @[@"1",@2,@""];
    NSLog(@"%@",array3);
//擷取數組元素個數
    NSInteger count = [array3 count];
    NSLog(@"%ld",count);
//通過下標擷取對應的對象
    for (int i = 0; i < [array3 count]; i++) {
//        NSLog(@"%@",[array3 objectAtIndex:i]);
        NSLog(@"%@",array3[i]);
    }
//通過對象去尋找他在數組中的下標
    NSInteger index = [array3 indexOfObject:@2];
    NSLog(@"%ld",index);
    NSLog(@"----------------------------------");
    NSString *textString = [NSString stringWithContentsOfFile:@"/Users/Duke/Desktop/未命名.txt" encoding:NSUTF8StringEncoding error:nil];
    NSLog(@"%@",textString);
//通過給定的字串將原有字串截取成多個子字串並儲存在數組中返回
    NSArray *array4 = [textString componentsSeparatedByString:@"\n"];
    NSLog(@"%@",array4);//可變數組的使用--------------------------------------------------------可變數組是NSArray的子類,繼承NSArray的所有方法可以對數組進行增刪改等操作常用的方法有:建立數組對象添加元素、插入元素刪除元素、替換元素交換指定位置的兩個元素     NSMutableArray *mutablearray1 = [[NSMutableArray alloc] initWithArray:array1];
    NSLog(@"%@",mutablearray1);
    NSMutableArray *mutableArray2 = [NSMutableArray arrayWithArray:array1];
    NSLog(@"%@",mutableArray2);
//添加元素
    [mutableArray2 addObject:@33];
    NSLog(@"%@",mutableArray2);
//插入元素
    [mutableArray2 insertObject:@123 atIndex:2];
    NSLog(@"%@",mutableArray2);
//替換一個已有元素
    [mutableArray2 replaceObjectAtIndex:2 withObject:@"heihei"];
    NSLog(@"%@",mutableArray2);
//交換兩個對應下標的對象的位置
    [mutableArray2 exchangeObjectAtIndex:2 withObjectAtIndex:0];
    NSLog(@"%@",mutableArray2);
//刪除最後一個對象
    [mutableArray2 removeLastObject];
    NSLog(@"%@",mutableArray2);
//刪除指定元素
    [mutableArray2 removeObject:@2];
    NSLog(@"%@",mutableArray2);
//刪除指定下標的對象
    [mutableArray2 removeObjectAtIndex:0];
    NSLog(@"%@",mutableArray2);
//刪除多個內容
//刪除數組中的所有對象
    [mutableArray2 removeAllObjects];
    NSLog(@"%@",mutableArray2);
//遍曆數組
    NSArray *array = [NSArray arrayWithObjects:@"one",@"two",@"three",@"four", nil];
    for (int index = 0; index < [array count]; index++) {
        NSString *string = [array objectAtIndex:index];
        NSLog(@"%@",string);
    }
    NSLog(@"-----------------------");
    for (NSString *string in array) {
        NSLog(@"%@",string);
    }
    

相關文章

聯繫我們

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