一, NSString的常用用法
1,創(chuàng)建對(duì)象兩種方法
1) ”-”號(hào)方法 alloc + 初始化
initWithString
NSString *str = [[NSString alloc]initWithString:@"iPhone 4"];
initWithFormat
這種方法比initWithString更強(qiáng)大可以設(shè)置格式,如上述的字符串” iPhone 4” 可以寫成
NSString *str = [[NSStringalloc] initWithFormat:@"iPhone%d",4];
這里的4是自定義的可以根據(jù)自己的需要隨時(shí)改變,
2) 這是構(gòu)造便利器
stringWithString
NSString *str = [NSString stringWithString:@"iPhone5"];
stringWithFormat
同樣這種方法比stringWithString功能強(qiáng)大,可以設(shè)置輸出格式
NSString *str = [NSString stringWithFormat:@"iPhone%d",5];
這里的5是自定義的可以根據(jù)自己的需要隨時(shí)改變
其實(shí)凡是方法名最后是以Format結(jié)尾的都是可以設(shè)置格式的,下面不在贅述
2,求字符串長(zhǎng)度 length
NSString *str = [NSString stringWithString:@"Helloworld];
NSUInteger length = [strlength];
NSLog(@"length = %lu",length);
這里長(zhǎng)度應(yīng)設(shè)置為無符號(hào)長(zhǎng)整型
3,根據(jù)給定的下標(biāo)獲取字符串中的字符
NSString *str = [NSStringstringWithString:@"Hello world];
unichar chara = [strcharacterAtIndex:5];
NSLog(@"%c",chara);
4,判斷是否以指定的字符串開頭或者以指定的字符串結(jié)尾
1),判斷一個(gè)字符串是否以某個(gè)字符串開頭 hasPrefix,返回值為BOOL類 型
例如:判斷一個(gè)字符串是否以http開頭是否以.com結(jié)束
NSString *str = [[NSString alloc]initWithFormat:@"http://www.baidu.com"];
判斷是否以http開頭
BOOL isPrefix = [strhasPrefix:@"http"];
NSLog(@"%d",isPrefix);
2),判斷一個(gè)字符串是否以某個(gè)字符串結(jié)尾 hasSuffix,返回值為BOOL類
例如判斷一個(gè)字符串是否以.com結(jié)束
BOOL isSuffix = [strhasSuffix:@".com"];
NSLog(@"%d",isSuffix);
5,查找指定字符串的范圍
NSRange是結(jié)構(gòu)體類型的類型重定義,range是結(jié)構(gòu)體類型
NSRange range = [str4rangeOfString:@"ttp"];
if (range.length ==0) {
NSLog(@"沒有找到對(duì)應(yīng)的字符串");
}else {
NSLog(@"location = %lu length = %lu",range.location,range.length);
}
在這里我們可以看到輸出下標(biāo)要用到結(jié)構(gòu)體中結(jié)構(gòu)體變量訪問結(jié)構(gòu)體成員的比較麻煩,OC提供了一個(gè)方法NSStringFromRange將NSRange類型的結(jié)構(gòu)體變量轉(zhuǎn)變?yōu)樽址畬?duì)象
NSLog(@"%@",NSStringFromRange(range));
6,獲取子字符串
NSString *str = [[NSString alloc]initWithFormat:@"http://www.baidu.com"];
1)獲取給定下標(biāo)之后的子字串,包含指定下標(biāo)對(duì)應(yīng)的字符substringFromIndex
NSString *str1 = [strsubstringFromIndex:5];
NSLog(@"str1 = %@",str1);
2)獲取從開始位置到給定下標(biāo)之前的子字符串,但是不包含指定下標(biāo)對(duì)應(yīng)的字符 substringToIndex
str1 = [strsubstringToIndex:7];
NSLog(@"str1 = %@",str1);
3)獲取從給定下標(biāo)范圍內(nèi)的子字符串,即按照所給出的位置,長(zhǎng)度,任意地從字符串中截取子串 substringWithRange:
如: 獲取www
str1 = [strsubstringWithRange:NSMakeRange(0,3)];
NSLog(@"str1 = %@",str1);
這里NSMakeRange(0,3)快速給定結(jié)構(gòu)體變量ange里的下標(biāo)成員和長(zhǎng) 度成員
7,拼接字符串
NSString *str = [NSStringstringWithFormat:@"Lanou"];
1)lanou后拼接henan stringByAppendingString:
NSString *newStr = [strstringByAppendingString:@"henan"];
NSLog(@"newStr = %@",newStr);
2) lanou后拼接henan9ban stringByAppendingFormat:
stringByAppendingFormat:比stringByAppendingString:功能強(qiáng)大,因?yàn)榍罢呖梢允褂酶袷酱?
newStr = [strstringByAppendingFormat:@"9ban%@",newStr];
NSLog(@"newStr = %@",newStr);
8,替換字符串
NSString *str = [NSStringstringWithFormat:@"lanou is a big big big company"];
1),將big替換成small stringByReplacingOccurrencesOfString:
NSString *newStr = [strstringByReplacingOccurrencesOfString:@"big"withString:@"small"];
NSLog(@"newStr = %@",newStr);
在這里會(huì)將所有的big都換成small
2),只將第一個(gè)big替換成small stringByReplacingCharactersInRange:
newStr = [strstringByReplacingCharactersInRange:NSMakeRange(11,3)withString:@"small"];
NSLog(@"newStr = %@",newStr);
9,字符串比較 compare
NSComparisonResult result =[@"111"compare:@"111"];
NSLog(@"result = %ld",result);
這里結(jié)果只有三種1,0,-1,第一:按照降序,即前者大于后者,結(jié)果為1,第二:兩者相等,結(jié)果為0,第三:按照升序,前者小于后者,結(jié)果為-1,
10,字符串和數(shù)值類型轉(zhuǎn)換
1),將字符串"123" 轉(zhuǎn)換為整數(shù)123 intValue
intValue方法從第一個(gè)字符開始讀取數(shù)字,如果在遇到了除空格之外的字符時(shí),將前面的空格忽略掉,繼續(xù)往下找,讀取數(shù)字,直到遇到非數(shù)字時(shí)結(jié)束
int value = [@" a1 2a3abc"intValue];
NSLog(@"%d",value);
float value1 = [@" 12a3abc"floatValue];
NSLog(@"%.2f",value1);
2),將數(shù)字轉(zhuǎn)為字符串對(duì)象
NSString *str = [NSStringstringWithFormat:@"%f",5.2];
11,字符串大小寫轉(zhuǎn)換
1),將@"lan OU"全部轉(zhuǎn)換為大寫 uppercaseString
NSString *upperStr = [@"lan OU iS a big coMpany"uppercaseString];
NSLog(@"%@",upperStr);
2),將@"lan OU"全部轉(zhuǎn)換為小寫 lowercaseString
upperStr = [@"lan OU iS a big coMpany"lowercaseString];
NSLog(@"%@",upperStr);
3),將@"lan OU"每個(gè)單詞的首字母大寫 capitalizedString
upperStr = [@"lan OU iS a big coMpany"capitalizedString];
NSLog(@"%@",upperStr);
12,將C語言的字符串轉(zhuǎn)換為OC里的字符串對(duì)象 initWithUTF8String:
例如:
char password[20] = {}; //定義一個(gè)密碼
NSLog(@"請(qǐng)輸入密碼:");
scanf("%s",password);
在這里先定義一個(gè)NSString類型的對(duì)象passWord用來接收從C語言的字符串password轉(zhuǎn)換的OC對(duì)象
NSString *passWord= [[NSStringalloc]initWithUTF8String:password];
二,NSMutableString常用用法
對(duì)可變字符串的增刪改方法,都是在原字符串的基礎(chǔ)上進(jìn)行修改的,所有修改之后的原字符串的內(nèi)容發(fā)生了改變,所有無需返回值
由于字符串可改變,因此每一次操作后原字符串都改變?yōu)椴僮骱蟮淖址?br />1,創(chuàng)建一個(gè)可改變的字符串對(duì)象 stringWithFormat
NSMutableString *str1 = [NSMutableStringstringWithFormat:@"lanouhenan"];
1)在字符串str1基礎(chǔ)上拼接Frank
[str1appendFormat:@"%@",@"Frank"];
NSLog(@"%@",str1);(輸出結(jié)果為:lanouhenanFrank)
2)在字符串str1基礎(chǔ)上拼接Frank
[str1appendFormat:@"%@",@"Frank"];
NSLog(@"%@",str1);(輸出結(jié)果為:lanouhenanFrankFrank)
3)刪除字符串, deleteCharactersInRange
在原字符串的基礎(chǔ)上刪除henan
[str1deleteCharactersInRange:NSMakeRange(5,5)];
NSLog(@"%@",str1); (輸出結(jié)果為:lanouFrankFrank)
4) 插入字符串 insertString:atIndex:
在原字符串的基礎(chǔ)上插入lanou
[str1insertString:@";lanou"atIndex:0];
NSLog(@"%@",str1); (輸出結(jié)果為:lanoulanouFrankFrank)
5)在原字符串基礎(chǔ)上將第一個(gè)Frank替換成Duke;
[str1replaceCharactersInRange:NSMakeRange(10,5)withString:@"Duke"];
NSLog(@"%@",str1); (輸出結(jié)果為:lanoulanoDukekFrank)
成都創(chuàng)新互聯(lián)是一家專業(yè)提供東營(yíng)企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為東營(yíng)眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
文章標(biāo)題:ios不可改變NSString類和可改變NSMutableString類的使用
瀏覽路徑:http://m.newbst.com/article2/pgceoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、微信公眾號(hào)、標(biāo)簽優(yōu)化、自適應(yīng)網(wǎng)站、網(wǎng)站排名、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(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í)需注明來源: 創(chuàng)新互聯(lián)