黑马程序员------Objective-C------NSString常用方法总结

来源:互联网 发布:imf数据库使用指南 编辑:程序博客网 时间:2024/06/06 03:00
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


字符串大小写转换

[objc] view plaincopy
  1. NSString *str = @"ChengDu";  
  2.   
  3.    
  4.   
  5. // 转成大写 输出:CHENGDU  
  6.   
  7.     NSLog(@"大写:%@", [str uppercaseString]);  
  8.   
  9.    
  10.   
  11. // 转成小写 输出:chengdu  
  12.   
  13.     NSLog(@"小写:%@", [str lowercaseString]);  
  14.   
  15.    
  16.   
  17. // 首字母变大写 输出:Chengdu  
  18.   
  19.     NSLog(@"首字母变大写:%@", [@"chengDu" capitalizedString]);  


 

字符串的比较  

[objc] view plaincopy
  1. // 检测两个字符串内容是否相同  
  2.   
  3.     BOOL result = [@"abc" isEqualToString:@"abc"];  
  4.     NSLog(@"%i", result); // 输出:1  
  5.       
  6.     // 逐字符地进行比较两个字符串的大小  
  7.     // NSOrderedAscending 左边 < 右边  
  8.     // NSOrderedSame 相同  
  9.     // NSOrderedDescending 左边 > 右边  
  10.     NSComparisonResult result2 = [@"abc" compare:@"Abc"];  
  11.     if (result2 == NSOrderedAscending) {  
  12.         NSLog(@"左边 < 右边");  
  13.     } else if (result2 == NSOrderedDescending) {  
  14.         NSLog(@"左边 > 右边");  
  15.     } else if (result2 == NSOrderedSame) {  
  16.         NSLog(@"左边 = 右边");  
  17.     }  
  18.   
  19.   
  20.     // 忽略大小写进行比较,其他的和compare一致  
  21.     [@"abc" caseInsensitiveCompare:@"Abc"];   

 

字符串的搜索

[objc] view plaincopy
  1. NSString *str2 = @"123456456.txt";  
  2.   
  3. NSLog(@"是否以22开头:%i", [str2 hasPrefix:@"22"]); // 输出:0  
  4. NSLog(@"是否以txt结尾:%i", [str2 hasSuffix:@"txt"]); // 输出:1  
  5.   
  6. NSRange range = [str2 rangeOfString:@"456"];  
  7. if (range.location == NSNotFound) { // 或者 range.length == 0;  
  8.     NSLog(@"不能找到");  
  9. else {  
  10.     NSLog(@"找到的范围是:%@", NSStringFromRange(range)); // 输出:{3,3}  
  11. }  
  12.   
  13. // 从尾部开始搜搜字符串  
  14. range = [str2 rangeOfString:@"456" options:NSBackwardsSearch];  
  15. NSLog(@"找到的范围是:%@", NSStringFromRange(range)); // 输出:{6,3}  
  16.   
  17. // 指定范围进行搜索  
  18. //[str rangeOfString:<#(NSString *)#> options:<#(NSStringCompareOptions)#> range:<#(NSRange)#>];  


 

字符串的截取  

[objc] view plaincopy
  1. NSString *str3 = @"123456";  
  2.   
  3.       
  4.     // 从索引3开始截取到尾部(包括索引3)  
  5.     NSLog(@"%@", [str3 substringFromIndex:3]); // 输出:465  
  6.       
  7.     // 从头部开始截取到索引3之前(不包括索引3)  
  8.     NSLog(@"%@", [str3 substringToIndex:3]); // 输出:123  
  9.       
  10.     // 指定范围进行截取  
  11.     NSRange range1 = NSMakeRange(23);  
  12.     NSLog(@"%@", [str3 substringWithRange:range1]); // 输出:345  
  13.       
  14.     // 用指定字符分割字符串  
  15.     NSString *str4 = @"1-2-3-4-5";  
  16.     NSArray *array = [str4 componentsSeparatedByString:@"-"];  
  17.     NSLog(@"%@", array); // 输出:(1,2,3,4,5) 就是打印数组那种格式  

 

与路径相关

[objc] view plaincopy
  1. // 快速创建一个自动释放的数组,把三个字符串对象添加进去  
  2.   
  3.     NSMutableArray *components = [NSMutableArray array];  
  4.     [components addObject:@"Users"];  
  5.     [components addObject:@"Lvxing"];  
  6.     [components addObject:@"Desktop"];  
  7.       
  8.   
  9. // 将数组中的所有字符拼接成一个路径  
  10.   
  11.     NSString *path = [NSString pathWithComponents:components];  
  12.     NSLog(@"%@", path);  
  13.       
  14.     // 将路径分解成一个数组  
  15.     NSArray *cmps = [path pathComponents];  
  16.     NSLog(@"%@", cmps); // 输出:(Users,Lvxing,Desktop)  
  17.   
  18.       
  19.     // 判断是否为绝对路径(依据是前面有无/)  
  20.     path = @"/Users/lvxing/Desktop/untitled folder/随堂练习/Foundation-NSString常用方法";  
  21.     NSLog(@"%i", [path isAbsolutePath]); // 输出:1  
  22.       
  23.     // 最后一个目录  
  24.     NSLog(@"最后一个目录:%@", [path lastPathComponent]);  
  25.       
  26.   
  27. // 删除最后一个目录 字符串path结尾变成随堂练习  
  28.   
  29.     NSLog(@"%@", [path stringByDeletingLastPathComponent]);  
  30.       
  31.   
  32. // 在最后面拼接一个目录 会将abc拼接在字符串path后面  
  33.   
  34.     NSLog(@"%@", [path stringByAppendingPathComponent:@"abc"]);  

    

拓展名处理 

[objc] view plaincopy
  1. // 依据是.  
  2. NSString *str5 = @"/Users/lvxing/Desktop/test.txt";  
  3. NSLog(@"%@", [str5 pathExtension]); // 输出:txt  
  4.   
  5. // 删除拓展名 结尾变成 test  
  6. NSLog(@"%@", [str5 stringByDeletingPathExtension]);  
  7.   
  8. // 添加拓展名  
  9. NSLog(@"%@", [@"abc" stringByAppendingPathExtension:@"mp3"]); // 输出:abc.mp3  

    

其他用法

[objc] view plaincopy
  1. // 把字符串数字转成数字  
  2. NSString *str6 = @"12";  
  3. int a = [str6 intValue];  
  4. NSLog(@"%i", a); // 输出:12  
  5.   
  6. // 计算字数,不是计算字符数  
  7. NSLog(@"length = %lu", [@"我是字符串123" length]); // 输出:length = 8  
  8.   
  9.   
  10. // 取出对应字符  
  11. unichar c = [@"abc" characterAtIndex:0];  
  12. NSLog(@"%c", c); // 输出:a  
  13.   
  14. // 返回C语言中的字符串  
  15. const charchar *s = [@"abc" UTF8String];  
  16. NSLog(@"%s", s); // 输出:abc  
0 0
原创粉丝点击