您好,登錄后才能下訂單哦!
學習OC都知道,OC比較好的地方就是封裝了很多方法,供開發(fā)者直接調用,這是非常方便的。很多方法在系統(tǒng)中都實現了,我們只要直接調用就行了。今天主要是說明字符串對象的一些方法的使用。
下面直接上代碼:
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // //創(chuàng)建NSString類型的對象 // //使用初始化方法initWithFormat:根據一定的字符串格式來初始化字符串對象,將格式串中的內容寫入到字符串對象空間內 // NSString *str = [[NSString alloc] initWithFormat:@"iPhone%d%@", a, @"S"]; // // //使用便利構造器stringWithFormat:方法來快速創(chuàng)建對象,內部進行alloc以及初始化操作,內部通過initWithFormat初始化方法來進行初始化 // NSString *str1 = [NSString stringWithFormat:@"lanou%@", @"henan"]; // // //將c語言的字符串轉為OC的字符串對象 // //初始化方法 // NSString *str21 = [[NSString alloc] initWithUTF8String:"ccc"]; // //便利構造器方法 // NSString *str2 = [NSString stringWithUTF8String:"abc"]; // NSLog(@"%@", str); // NSLog(@"%lu", (unsigned long)[str1 length]); // NSLog(@"%@,%@", str21, str2); //1.創(chuàng)建一個新的字符串對象,存儲“http://www.LANOU3g.com,lanouhenan” NSString *str = [[NSString alloc] initWithFormat:@"http://www.LANOU3g.com,lanouhenan"]; //2.求字符串str的長度 NSUInteger length = [str length]; NSLog(@"%lu", length); //3.判斷字符串是否以指定字符串開始或結束 //判斷一個網址是否是以http://開頭,是否是以.com 結尾。 BOOL isBegin = [str hasPrefix:@"www"]; NSLog(@"%d", isBegin); //判斷是否以.com結尾。 BOOL isEnd = [str hasSuffix:@".com"]; NSLog(@"%d", isEnd); //4.搜索一個指定字符串的范圍 //經常用來判斷指定的字符串在不在str中。 //只需根據返回的range的length來判斷即可,如果length為0,說明不在str中,如果不為0,則存在。 NSRange range = [str rangeOfString:@"lanou"]; // NSLog(@"location:%lu, range:%lu", range.location, range.length); //將一個結構體類型的變量轉化為字符串 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 用來快速創(chuàng)建NSRange變量({})用來賦初值 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.字符串和數值類型的轉換 //將@"5"轉為整數 //如果字符串前面是空格,則會忽略掉,把空格后面的數字轉為整數,如果出現過其它字符之后,又出現了空格,則不會忽略掉 NSInteger value1 = [@" 5a2" integerValue]; NSLog(@"%ld", value1); //10.大小寫轉換操作。 //(1)全部轉化為大寫 NSString *upperString = [str uppercaseString]; NSLog(@"%@", upperString); //(2)全部轉化為小寫 NSString *lowerString = [str lowercaseString]; NSLog(@"%@", lowerString); //(3)每個單詞的首字母轉化為大寫,其余小寫 //如何區(qū)分是不同的單詞 //除了52個大小寫字母,使用其它的字符來進行間隔,都會識別為不同的單詞 NSString *cap = [str capitalizedString]; NSLog(@"%@", cap); //對于NSString創(chuàng)建的對象,都是不可變的字符串,不管對該對象做拼接、分割大小寫轉換、替換、數字轉換等操作,都是對該對象的副本進行操作,不會對原字符串做任何的修改。(返回一個新的字符串) //如果想對原字符串進行修改,就要使用NSString的一個子類NSMutableString來創(chuàng)建對象,進行操作,NSMutableString相比于NSString類只是添加了增刪改的方法。 } return 0; }
這是一個完整的OC代碼,可以拷貝到工程中直接運行。大家可以看到,main函數中上面的一部分注釋掉了,那是NSString的一些初始化的方法和一個便利構造器。
下面的幾個方法是一些最長用的方法,基本上其他的都不用,如果有些童鞋有需要,可以查看官方的API文檔查看更多的方法。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。