国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

FoundationのNSString的常用方法

2019-11-14 19:10:49
字體:
供稿:網(wǎng)友

1、NSString

1.字符串的創(chuàng)建 

// 創(chuàng)建一個新的空字符串NSstring *string = [NSstring string]// 初始化一個字符串,在賦值NSString *string = [[NSString alloc] init];    string = @"tianqi";NSstring *string = @"hello";NSString *string = [NSString stringWithString:@"hello world"]; NSString *string = [[NSString alloc] initWithString:@"hello world!"]; NSString *str = [string stringByAppendingString:@"/nttt"];// 把C的字符串轉(zhuǎn)化為OC的字符串NSString *str = [[NSString alloc] initWithUTF8String:"hello world"]; NSString *str2 = [NSString stringWithUTF8String:"hello world"];// 用格式化字符串初始化  可完成字符串的拼接以及完成C的字符串與OC的字符串的轉(zhuǎn)化int a = 123; NSString *str = [[NSString alloc]initWithFormat:@"a = %d %s%@", a, "abcd", @"efg"]; NSString *str3 = [NSString stringWithFormat:@"%s","hello world"];

2.字符串的轉(zhuǎn)換

NSString * str = @"hello"; const char *p = [str UTF8String]; // 將OC字符串轉(zhuǎn)化為C的字符串 str = @"123"; int a = [str intValue]; // 將數(shù)字串轉(zhuǎn)化成整型數(shù)據(jù)         [str floatValue]; // 將數(shù)字串轉(zhuǎn)化成float型         [str doubleValue]; // 將數(shù)字串轉(zhuǎn)化成double型 // 結(jié)構(gòu)體 輸出// 結(jié)構(gòu)體 [點] 轉(zhuǎn)換字符串NSString *str = NSStringFromPoint(point);// 結(jié)構(gòu)體 [尺寸] 轉(zhuǎn)換字符串NSString *str = NSStringFromSize(size);// 結(jié)構(gòu)體 [矩形] 轉(zhuǎn)換字符串NSString *str = NSStringFromRect(rect);

3.字符串大小寫轉(zhuǎn)換

// 全部轉(zhuǎn)為大寫 // 結(jié)果 ABC [@"abc" uppercaseString]// 全部轉(zhuǎn)為小寫 // 結(jié)果 bcd  [@"BCD" lowercaseString]  // 首字母大寫 // 結(jié)果 Acb  [@"acb" capitalizedString]

4.字符串比較

// 比較兩個字符串內(nèi)容是否相同 // 相等返回 yes 不相等返回 noBOOL b =[str isEqualToString:str2];  // 忽略大小寫進行比較NSComparisonResult  result = [string caseInsensitiveCompare:str];NSComparisonResult  result = [string localizedCaseInsensitiveCompare:str];// 兩個字符串內(nèi)容比較  // NSComparisonResult result = {NSOrderedAscending, NSOrderedSame,NSOrderedDescending} // NSOrderedAscending    右邊 > 左邊  == -1// NSOrderedSame         內(nèi)容相同     ==  0// NSOrderedDescending   左邊 > 右邊  ==  1 NSComparisonResult result = [str compare:str2]; NSComparisonResult result = [string compare:@"taojian" options:NSCaseInsensitiveSearch];NSComparisonResult result = [string compare:@"taojian" options:NSCaseInsensitiveSearch range:NSMakeRange(0, string.length)];NSComparisonResult result = [string compare:@"taojian" options:NSCaseInsensitiveSearch range:NSMakeRange(0, string.length) locale:nil];NSComparisonResult result = [string localizedCompare:str]; options: // 枚舉參數(shù)enum{      NSCaseInsensitiveSearch = 1, // 不區(qū)分大小寫比較          NSLiteralSearch = 2, // 區(qū)分大小寫比較      NSBackwardsSearch = 4, // 從字符串末尾開始搜索      NSAnchoredSearch = 8, // 搜索限制范圍的字符串      NSNumbericSearch = 64 // 按照字符串里的數(shù)字為依據(jù),算出順序。例如 Foo2.txt < Foo7.txt < Foo25.txt      // 以下定義高于 mac os 10.5 或者高于 iphone 2.0 可用    ,      NSDiacriticInsensitiveSearch = 128, // 忽略 "-" 符號的比較      NSWidthInsensitiveSearch = 256, // 忽略字符串的長度,比較出結(jié)果      NSForcedOrderingSearch = 512 // 忽略不區(qū)分大小寫比較的選項,并強制返回 NSOrderedAscending 或者 NSOrderedDescending      // 以下定義高于 iphone 3.2 可用    ,      /// 只能應(yīng)用于 rangeOfString:..., stringByReplacingOccurrencesOfString:...和 replaceOccurrencesOfString:... 方法。      /// 使用通用兼容的比較方法,如果設(shè)置此項,可以去掉 NSCaseInsensitiveSearch 和 NSAnchoredSearc      NSRegularExPRessionSearch = 1024}

 5.字符串搜索

// 判斷字符串是否以abc開頭[@"abcdfa" hasprefix:@"abc"];   // 判斷字符串是否bcd結(jié)尾   [@"adbcd" hasSuffix:@"bcd"];   // 判斷字符串是否包含指定字符串,返回位置和長度   NSRange range = [@"123456" rangeOfString:@"456"];  // 反向搜索   NSRange range = [@"123456456qweasasd456" rangeOfString:@"456" options:NSBackwardsSearch];  // 指定范圍進行搜索   NSRange range = NSMakeRange(0, 9);  range = [@"123456456qweasasd456" rangeOfString:@"456" options:NSBackwardsSearch range:range];// 找與之開頭相同的字符NSString *string = @"fg   s  abcdefg hijklmn s     d /n fdsgf";NSString *str = [string commonPrefixWithString:@"fg" options:NSLiteralSearch];

6. 字符串截取

NSString * str5 = @"helloworld"; NSString * ptr1 = [str5 substringToIndex:2];// 字符串抽取 從下標(biāo)0開始到4 不包括4 NSString * ptr2 = [str5 substringFromIndex:4];// 從下標(biāo)5開始抽取到字符串結(jié)束 包括5 NSRange range1 = {6,2};// 結(jié)構(gòu)體初始化 NSString * ptr3 = [str5 substringWithRange:range1];// 在range指定范圍內(nèi)抽取 NSString * ptr4 = [str5 substringWithRange:NSMakeRange(6,2)];// NSMakeRange可以生成一個結(jié)構(gòu)體 

7.字符串的遍歷

// 根據(jù)/n遍歷NSString *string = @"   s  abcdefg hijklmn s     d /n fdsf";// 根據(jù)/n一行一行的打印[string enumerateLinesUsingBlock:^(NSString *line, BOOL *stop)                                  {                                      NSLog(@"/n%@",line);                                   }];// 根據(jù) 條件options 遍歷NSString *string = @"   s  abcdefg hijklmn s     d ";NSMutableString * mutableString = [NSMutableString string];// NSStringEnumerationByWords:將string按空格分開,并且會自動清理首尾的空格// 這個方法會把中間多余的空格也清理掉,比如上面的字符串,s和d之間有兩個空格,會變成一個空格[string enumerateSubstringsInRange:NSMakeRange(0, string.length) options:NSStringEnumerationByWords usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop){        [mutableString appendFormat:@"%@ ",substring];}];// 刪除我們添加的末尾的一個空格[mutableString deleteCharactersInRange:NSMakeRange(outputString.length-1, 1)];

8.路徑操作與數(shù)組操作

// 用指定字符串分割字符串,返回一個數(shù)組   NSArray *array = [@"1,2,3,4,5,6" componentsSeparatedByString:@","];  // 根據(jù)空格拆分NSArray *array = [string componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];    // 將數(shù)組中的字符串組合成一個文件路徑   NSMutableArray *components = [NSMutableArray array];  [components addObject:@"Users"];  [components addObject:@"CentralPerk"];  [components addObject:@"Desktop"];  NSString *path = [NSString pathWithComponents:components];  NSLog(@"%@",path);  //Users/CentralPerk/Desktop      // 將一個路徑分割成一個數(shù)組   NSArray *array1 = [path pathComponents];  NSLog(@"%@",array1);// 判斷是否為絕對路徑(依據(jù):是否以'/'開始)   path = @"/Users/CentralPerk/Desktop";  NSLog(@"%i",[path isAbsolutePath]);     // 獲取最后一個目錄   NSLog(@"%@",[path lastPathComponent]);     // 刪除最后一個目錄   NSLog(@"%@",[path stringByDeletingLastPathComponent]);     // 拼接一個目錄   NSLog(@"%@",[path stringByAppendingPathComponent:@"aaa"]);   //Users/CentralPerk/Desktop/aaa   NSLog(@"%@",[path stringByAppendingString:@"aaa"]);      //Users/CentralPerk/Desktopaaa   NSLog(@"%@",[path stringByAppendingFormat:@"%@%@",@"b",@"c"]);  //Users/CentralPerk/Desktopbc

9.文件擴展名

 // 拓展名出來    // 獲取拓展名,不帶.    NSString *str2 = @"Users/CentralPerk/Desktop/test.txt";   NSLog(@"%@",[str2 pathExtension]);   // 添加拓展名,不需要帶.    NSLog(@"%@",[str2 stringByAppendingPathExtension:@"mp3"]);   // 刪除拓展名,帶.一塊刪除    NSLog(@"%@",[str2 stringByDeletingPathExtension]);  

10.文件操作

// 將字符串設(shè)置為path制定的文件的內(nèi)容 -(id) initWithContentsOfFile:path encoding:enc error:err  // 創(chuàng)建一個新字符串并將其設(shè)置為path指定的文件的內(nèi)容,使用字符編碼enc,如果非零,則返回err中錯誤  +(id) stringWithContentsOfFile:path encoding:enc error:err   // 將字符串設(shè)置為url(NSURL *)url的內(nèi)容,使用字符編碼enc,如果非零,則返回err中的錯誤 -(id) initWithContentsOfURL:url encoding:enc error:err   // 創(chuàng)建一個新的字符串,并將其設(shè)置為url的內(nèi)容,使用字符編碼enc,如果非零,則返回err中的錯誤 +(id) stringWithContentsOfURL:url encoding:enc error:err  

11.補充

// 求字符串長度 [str1 length]   // 獲取字符串中的字符 [str1 characterAtIndex:1]// 清楚左右兩段的空格NSString *str = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];// 在字符串后面補0NSString *str = [string stringByPaddingToLength:12 withString:@"0" startingAtIndex:0];

2、NSMutableString

// 將不可變的字符串轉(zhuǎn)換為可變的字符串 NSMutableString * str =  [[NSMutableString alloc]initWithString:@"hello world"];  // 在指定下標(biāo)為2的(不要越界)位置插入013字符串[str insertString:@"013" atIndex:2];   // 在字符串末尾追加字符串taotao [str appendString:@"taotao"];  // 從0位置刪除2個字符 [str deleteCharactersInRange:NSMakeRange(0, 2)]; // 給字符串重新賦值 [str setString:@"yintian"];// 將3位置后1個字符替換成ios字符串[str replaceCharactersInRange:NSMakeRange(3, 1) withString:@"ios"];// 根據(jù)選項 opts ,使用指定 range 中的nsstring2 替換所有的 nsstring-(void)replaceOccurrencesOfString:nsstring withString:nsstring2 options:opts range:range


 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 鲜城| 银川市| 威信县| 博兴县| 宿松县| 武定县| 资溪县| 丹寨县| 玉林市| 留坝县| 威信县| 绩溪县| 河西区| 奉节县| 郑州市| 迭部县| 奉新县| 苗栗市| 周口市| 社会| 抚州市| 资源县| 汉源县| 永靖县| 杨浦区| 东乡县| 吉安县| 韶关市| 留坝县| 吴旗县| 禄丰县| 防城港市| 曲麻莱县| 肥乡县| 特克斯县| 东光县| 乐东| 邹平县| 长顺县| 平定县| 通江县|