學(xué)習(xí)OC都知道,OC比較好的地方就是封裝了很多方法,供開發(fā)者直接調(diào)用,這是非常方便的。很多方法在系統(tǒng)中都實(shí)現(xiàn)了,我們只要直接調(diào)用就行了。今天主要是說(shuō)明字符串對(duì)象的一些方法的使用。
創(chuàng)新互聯(lián)服務(wù)緊隨時(shí)代發(fā)展步伐,進(jìn)行技術(shù)革新和技術(shù)進(jìn)步,經(jīng)過(guò)10年的發(fā)展和積累,已經(jīng)匯集了一批資深網(wǎng)站策劃師、設(shè)計(jì)師、專業(yè)的網(wǎng)站實(shí)施團(tuán)隊(duì)以及高素質(zhì)售后服務(wù)人員,并且完全形成了一套成熟的業(yè)務(wù)流程,能夠完全依照客戶要求對(duì)網(wǎng)站進(jìn)行成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、建設(shè)、維護(hù)、更新和改版,實(shí)現(xiàn)客戶網(wǎng)站對(duì)外宣傳展示的首要目的,并為客戶企業(yè)品牌互聯(lián)網(wǎng)化提供全面的解決方案。
下面直接上代碼:
#importint main(int argc, const char * argv[]) { @autoreleasepool { // //創(chuàng)建NSString類型的對(duì)象 // //使用初始化方法initWithFormat:根據(jù)一定的字符串格式來(lái)初始化字符串對(duì)象,將格式串中的內(nèi)容寫入到字符串對(duì)象空間內(nèi) // NSString *str = [[NSString alloc] initWithFormat:@"iPhone%d%@", a, @"S"]; // // //使用便利構(gòu)造器stringWithFormat:方法來(lái)快速創(chuàng)建對(duì)象,內(nèi)部進(jìn)行alloc以及初始化操作,內(nèi)部通過(guò)initWithFormat初始化方法來(lái)進(jìn)行初始化 // NSString *str1 = [NSString stringWithFormat:@"lanou%@", @"henan"]; // // //將c語(yǔ)言的字符串轉(zhuǎn)為OC的字符串對(duì)象 // //初始化方法 // NSString *str21 = [[NSString alloc] initWithUTF8String:"ccc"]; // //便利構(gòu)造器方法 // NSString *str2 = [NSString stringWithUTF8String:"abc"]; // NSLog(@"%@", str); // NSLog(@"%lu", (unsigned long)[str1 length]); // NSLog(@"%@,%@", str21, str2); //1.創(chuàng)建一個(gè)新的字符串對(duì)象,存儲(chǔ)“http://www.LANOU3g.com,lanouhenan” NSString *str = [[NSString alloc] initWithFormat:@"http://www.LANOU3g.com,lanouhenan"]; //2.求字符串str的長(zhǎng)度 NSUInteger length = [str length]; NSLog(@"%lu", length); //3.判斷字符串是否以指定字符串開始或結(jié)束 //判斷一個(gè)網(wǎng)址是否是以http://開頭,是否是以.com 結(jié)尾。 BOOL isBegin = [str hasPrefix:@"www"]; NSLog(@"%d", isBegin); //判斷是否以.com結(jié)尾。 BOOL isEnd = [str hasSuffix:@".com"]; NSLog(@"%d", isEnd); //4.搜索一個(gè)指定字符串的范圍 //經(jīng)常用來(lái)判斷指定的字符串在不在str中。 //只需根據(jù)返回的range的length來(lái)判斷即可,如果length為0,說(shuō)明不在str中,如果不為0,則存在。 NSRange range = [str rangeOfString:@"lanou"]; // NSLog(@"location:%lu, range:%lu", range.location, range.length); //將一個(gè)結(jié)構(gòu)體類型的變量轉(zhuǎn)化為字符串 NSLog(@"%@", NSStringFromRange(range)); //5.字符串截?。ǐ@取子字符串),分割字符串 //獲取子串.com NSString *subStr1 = [str substringFromIndex:18]; NSLog(@"%@", subStr1); //獲取子串http:// NSString *subStr3 = [str substringToIndex:7]; NSLog(@"%@", subStr3); //獲取子串lanou // NSRange range2 = {11, 5}; //NSMakeRange 用來(lái)快速創(chuàng)建NSRange變量({})用來(lái)賦初值 NSString *subStr2 = [str substringWithRange:NSMakeRange(11, 5)]; NSLog(@"%@", subStr2); //6.拼接字符串 //拼接上henan NSString *newStr = [str stringByAppendingFormat:@"%@", @"henan"]; NSLog(@"%@", newStr); //7.替換字符串 //將ou替換成xiang NSString *replaceString = [str stringByReplacingOccurrencesOfString:@"ou" withString:@"xiang"]; NSLog(@"%@", replaceString); //8.字符串比較 NSComparisonResult result = [@"aa" compare:@"bb"]; NSLog(@"%ld", result); //9.字符串和數(shù)值類型的轉(zhuǎn)換 //將@"5"轉(zhuǎn)為整數(shù) //如果字符串前面是空格,則會(huì)忽略掉,把空格后面的數(shù)字轉(zhuǎn)為整數(shù),如果出現(xiàn)過(guò)其它字符之后,又出現(xiàn)了空格,則不會(huì)忽略掉 NSInteger value1 = [@" 5a2" integerValue]; NSLog(@"%ld", value1); //10.大小寫轉(zhuǎn)換操作。 //(1)全部轉(zhuǎn)化為大寫 NSString *upperString = [str uppercaseString]; NSLog(@"%@", upperString); //(2)全部轉(zhuǎn)化為小寫 NSString *lowerString = [str lowercaseString]; NSLog(@"%@", lowerString); //(3)每個(gè)單詞的首字母轉(zhuǎn)化為大寫,其余小寫 //如何區(qū)分是不同的單詞 //除了52個(gè)大小寫字母,使用其它的字符來(lái)進(jìn)行間隔,都會(huì)識(shí)別為不同的單詞 NSString *cap = [str capitalizedString]; NSLog(@"%@", cap); //對(duì)于NSString創(chuàng)建的對(duì)象,都是不可變的字符串,不管對(duì)該對(duì)象做拼接、分割大小寫轉(zhuǎn)換、替換、數(shù)字轉(zhuǎn)換等操作,都是對(duì)該對(duì)象的副本進(jìn)行操作,不會(huì)對(duì)原字符串做任何的修改。(返回一個(gè)新的字符串) //如果想對(duì)原字符串進(jìn)行修改,就要使用NSString的一個(gè)子類NSMutableString來(lái)創(chuàng)建對(duì)象,進(jìn)行操作,NSMutableString相比于NSString類只是添加了增刪改的方法。 } return 0; }
這是一個(gè)完整的OC代碼,可以拷貝到工程中直接運(yùn)行。大家可以看到,main函數(shù)中上面的一部分注釋掉了,那是NSString的一些初始化的方法和一個(gè)便利構(gòu)造器。
下面的幾個(gè)方法是一些最長(zhǎng)用的方法,基本上其他的都不用,如果有些童鞋有需要,可以查看官方的API文檔查看更多的方法。