成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

OC中的NSNumber、NSArray、NSString的常用方法-創(chuàng)新互聯(lián)

和C語(yǔ)言不同在Objective-C語(yǔ)言中有單獨(dú)的字符串類(lèi)NSString。C語(yǔ)言中string是由 charASCLL碼字符組成

創(chuàng)新互聯(lián)專(zhuān)業(yè)為企業(yè)提供太子河網(wǎng)站建設(shè)、太子河做網(wǎng)站、太子河網(wǎng)站設(shè)計(jì)、太子河網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、太子河企業(yè)網(wǎng)站模板建站服務(wù),十余年太子河做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

OC中字符串是由unicharUnicode字符組成

NSString不可變字符串即創(chuàng)建以后內(nèi)容和長(zhǎng)度不能更改

NSMutableString可變字符串即創(chuàng)建以后內(nèi)容還可以修改

在使用喲個(gè)字符串對(duì)象之前首先創(chuàng)建一個(gè)新的字符串可以使用實(shí)例方法和便利構(gòu)造器

NSString常用的方法

1、使用實(shí)例方法和便利構(gòu)造器創(chuàng)建一個(gè)新的字符串

2、獲取字符串長(zhǎng)度

3、獲取子字符串

4、拼接字符串

5、替換字符串

6、字符串相等

7、字符串比較

使用初始化方法創(chuàng)建

   NSString *str1 = [[NSString alloc] initWithString:@"name"];

   NSLog(@"%@",str1);
    NSString *str11 = @"name";

   NSLog(@"%@",str11);

使用實(shí)例方法創(chuàng)建

   NSString *str2 = [NSString stringWithString:@"name"];
    NSLog(@"%@",str2);
    NSString *str22 = @"name";
    NSLog(@"%@",str22);

char *cStr= "hehe";

將c語(yǔ)言字符串轉(zhuǎn)成OC的對(duì)象

   NSString *str3 = [[NSString alloc] initWithCString:cStr encoding:NSUTF8StringEncoding];
    NSLog(@"%@",str3);
    NSString *str4 = [NSString stringWithCString:cStr encoding:NSUTF8StringEncoding];
    NSLog(@"%@",str4);

根據(jù)指定格式創(chuàng)建字符串

   NSString *str5 = [[NSString alloc] initWithFormat:@"%@+%d",@"duke",1001];
    NSLog(@"%@",str5);
    NSString *str6 = [NSString stringWithFormat:@"%@+%d",@"duke",1001];
    NSLog(@"%@",str6);

根據(jù)指定路徑的文件內(nèi)容創(chuàng)建字符串對(duì)象

   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);

求字符串對(duì)象的長(zhǎng)度

   NSInteger length = [str8 length];
    NSLog(@"%ld",length);

判斷一個(gè)字符串是否擁有前綴字符串

   BOOL result1 = [str8 hasPrefix:@"李"];
    NSLog(@"%@",result1 ? @"YES" : @"NO");

判斷一個(gè)字符串是否擁有后綴字符串

   BOOL result2 = [str8 hasSuffix:@"李"];
    NSLog(@"%@",result2 ? @"YES" : @"NO");

判斷兩個(gè)字符串是否相同

   BOOL result3 = [str8 isEqualToString:str7];
    NSLog(@"%@",result3 ? @"YES" : @"NO");

字符串比較排序結(jié)果

   NSComparisonResult result4 = [str8 compare:str7];
    NSLog(@"%ld",result4);//升序?yàn)?1降序?yàn)?相同為0

獲取子字符串

從指定下標(biāo)包含指定下標(biāo)到字符串結(jié)束的子字符串

   NSString *subStr1 = [str8 substringFromIndex:2];
    NSLog(@"%@",subStr1);

從字符串開(kāi)始到指定下標(biāo)的字符不包含指定下標(biāo)的子字符串

   NSString *subStr2 = [str8 substringToIndex:2];
    NSLog(@"%@",subStr2);

NSRange為結(jié)構(gòu)體類(lèi)型成員location描述下標(biāo)位置成員length描述需要截取的子字符串長(zhǎng)度

   NSRange range = NSMakeRange(1, 3);
//    NSRange range = {1,3};
    NSString *subStr3 = [str8 substringWithRange:range];
    NSLog(@"%@",subStr3);

字符串拼接

根據(jù)給定的參數(shù)字符串拼接產(chǎn)生新的字符串不改變?cè)械淖址?/p>

   NSString *newString1 = [str8 stringByAppendingString:@"叉1001"];
    NSLog(@"%@",newString1);

根據(jù)指定的格式串以及參數(shù)去拼接產(chǎn)生新的字符串

   NSString *newString2 = [str8 stringByAppendingFormat:@"%d",1001];
    NSLog(@"%@",newString2);

路徑拼接

   NSString *newString3 = [str8 stringByAppendingPathComponent:@"xx.avi"];
    NSLog(@"%@",newString3);

字符串的替換

通過(guò)給定的第二個(gè)字符串替換str8中當(dāng)前存在的字符串

   NSString *newString4 = [str8 stringByReplacingOccurrencesOfString:@"李X" withString:@"無(wú)雙"];

   NSLog(@"%@",newString4);

查找字符串

   NSString *link = @"abdjofepok = _nieifn";
    NSRange range1 = [link rangeOfString:@"pok = _nie"];
    NSLog(@"%@",NSStringFromRange(range1));
    if (range1.location != NSNotFound) {
        NSLog(@"founded");
    }

字符串與數(shù)值類(lèi)數(shù)據(jù)的轉(zhuǎn)換

   NSString *numString1 = @"1";
    NSInteger integerValue = [numString1 integerValue];
    NSLog(@"%ld",integerValue);

大小寫(xiě)轉(zhuǎn)換

   NSString *string = @"i love you";

轉(zhuǎn)成大寫(xiě)

   NSString *upperCaseStr = [string uppercaseString];
    NSLog(@"%@",upperCaseStr);

轉(zhuǎn)成小寫(xiě)字符串

   NSString *lowCaseStr= [upperCaseStr lowercaseString];
    NSLog(@"%@",lowCaseStr);

轉(zhuǎn)成首字母大寫(xiě)字符串

   NSString *capitalString = [string capitalizedString];

   NSLog(@"%@",capitalString);

NSMutableString可變字符串

NSMutableString是NSString的子類(lèi)通過(guò)NSMutableString創(chuàng)建的字符串是一個(gè)動(dòng)態(tài)的可變的字符串可以對(duì)字符串進(jìn)行增刪改等操作

常用方法包括

創(chuàng)建一個(gè)新的字符串

拼接字符串

插入字符

刪除字符

   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);

這種字符串拼接不改變?cè)瓉?lái)的對(duì)象

另一個(gè)字符串拼接方法

stringByAppendingFormat

   [mutableStr2 appendFormat:@"duke + %d",1001];
    NSLog(@"%@",mutableStr2);

刪除字符串

   [mutableStr2 deleteCharactersInRange:NSMakeRange(4,6)];
    NSLog(@"%@",mutableStr2);

插入字符串

在給定的下標(biāo)之前插入新的字符串

   [mutableStr2 insertString:@"heheh" atIndex:0];
    NSLog(@"%@",mutableStr2);

替換字符串

根據(jù)給定的字符串替換指定范圍的字符門(mén)

   [mutableStr2 replaceCharactersInRange:NSMakeRange(0, 5) withString:@"hehe"];

   NSLog(@"%@",mutableStr2);

下面是一個(gè)實(shí)例分別通過(guò)不可變字符方法和可變方法去解答

給定一個(gè)圖片文件名,判斷字符串中是否以“png”結(jié)尾,如果是就替換成“jpg”,如果 不是,就拼接”.jpg”。

不可變字符串
    NSString *picName = [NSString stringWithFormat:@"p_w_picpath.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中存放數(shù)據(jù)的容器類(lèi)都稱(chēng)為集合collection

數(shù)組是有序集合只能存放對(duì)象

數(shù)組有下標(biāo)index的概念靠index來(lái)索引元素下標(biāo)從0開(kāi)始

數(shù)組分不可變數(shù)組NSArray和可變數(shù)組NSMutableArray

常用的方法是

創(chuàng)建數(shù)組對(duì)象使用實(shí)例初始化或便利構(gòu)造器

獲取元素個(gè)數(shù)

根據(jù)index獲取對(duì)象

   //定義NSArray
    NSArray *array1 = [[NSArray alloc] initWithObjects:@"1",@2,@"哈哈",nil];
    NSLog(@"%@",[array1 description]);
    NSArray *array2 = [NSArray arrayWithObjects:@"1",@2,@"",nil];
    NSLog(@"%@",array2);
//數(shù)組的語(yǔ)法糖形式 literal,字面量
    NSArray *array3 = @[@"1",@2,@""];
    NSLog(@"%@",array3);
//獲取數(shù)組元素個(gè)數(shù)
    NSInteger count = [array3 count];
    NSLog(@"%ld",count);
//通過(guò)下標(biāo)獲取對(duì)應(yīng)的對(duì)象
    for (int i = 0; i < [array3 count]; i++) {
//        NSLog(@"%@",[array3 objectAtIndex:i]);
        NSLog(@"%@",array3[i]);
    }
//通過(guò)對(duì)象去查找他在數(shù)組中的下標(biāo)
    NSInteger index = [array3 indexOfObject:@2];
    NSLog(@"%ld",index);
    NSLog(@"----------------------------------");
    NSString *textString = [NSString stringWithContentsOfFile:@"/Users/Duke/Desktop/未命名.txt" encoding:NSUTF8StringEncoding error:nil];
    NSLog(@"%@",textString);
//通過(guò)給定的字符串將原有字符串截取成多個(gè)子字符串并保存在數(shù)組中返回
    NSArray *array4 = [textString componentsSeparatedByString:@"\n"];
    NSLog(@"%@",array4);

//可變數(shù)組的使用--------------------------------------------------------

可變數(shù)組是NSArray的子類(lèi)繼承NSArray的所有方法

可以對(duì)數(shù)組進(jìn)行增刪改等操作

常用的方法有

創(chuàng)建數(shù)組對(duì)象

添加元素、插入元素

刪除元素、替換元素

交換指定位置的兩個(gè)元素

   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);
//替換一個(gè)已有元素
    [mutableArray2 replaceObjectAtIndex:2 withObject:@"heihei"];
    NSLog(@"%@",mutableArray2);
//交換兩個(gè)對(duì)應(yīng)下標(biāo)的對(duì)象的位置
    [mutableArray2 exchangeObjectAtIndex:2 withObjectAtIndex:0];
    NSLog(@"%@",mutableArray2);
//刪除最后一個(gè)對(duì)象
    [mutableArray2 removeLastObject];
    NSLog(@"%@",mutableArray2);
//刪除指定元素
    [mutableArray2 removeObject:@2];
    NSLog(@"%@",mutableArray2);
//刪除指定下標(biāo)的對(duì)象
    [mutableArray2 removeObjectAtIndex:0];
    NSLog(@"%@",mutableArray2);
//刪除多個(gè)內(nèi)容
//刪除數(shù)組中的所有對(duì)象
    [mutableArray2 removeAllObjects];
    NSLog(@"%@",mutableArray2);
//遍歷數(shù)組
    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);
    }

創(chuàng)新互聯(lián)www.cdcxhl.cn,專(zhuān)業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開(kāi)啟,新人活動(dòng)云服務(wù)器買(mǎi)多久送多久。

本文標(biāo)題:OC中的NSNumber、NSArray、NSString的常用方法-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://jinyejixie.com/article18/deohdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、微信小程序商城網(wǎng)站、標(biāo)簽優(yōu)化、定制網(wǎng)站Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
和硕县| 仲巴县| 溆浦县| 商都县| 禹州市| 庆安县| 靖宇县| 同心县| 汤阴县| 甘肃省| 祥云县| 沧州市| 奉化市| 汉源县| 伊宁市| 邢台县| 手机| 象州县| 台南市| 利辛县| 锡林郭勒盟| 通许县| 朝阳区| 运城市| 水富县| 南城县| 合阳县| 庄河市| 镇沅| 木兰县| 扬中市| 兴文县| 临泉县| 衡南县| 正定县| 惠州市| 卓资县| 石棉县| 岳普湖县| 新源县| 安图县|