您的位置:首页 > 移动开发 > Objective-C

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

2015-02-08 20:48 330 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

字符串大小写转换

[objc] view
plaincopy

NSString *str = @"ChengDu";  

  

   

  

// 转成大写 输出:CHENGDU  

  

    NSLog(@"大写:%@", [str uppercaseString]);  

  

   

  

// 转成小写 输出:chengdu  

  

    NSLog(@"小写:%@", [str lowercaseString]);  

  

   

  

// 首字母变大写 输出:Chengdu  

  

    NSLog(@"首字母变大写:%@", [@"chengDu" capitalizedString]);  

 

字符串的比较  

[objc] view
plaincopy

// 检测两个字符串内容是否相同  

  

    BOOL result = [@"abc" isEqualToString:@"abc"];  

    NSLog(@"%i", result); // 输出:1  

      

    // 逐字符地进行比较两个字符串的大小  

    // NSOrderedAscending 左边 < 右边  

    // NSOrderedSame 相同  

    // NSOrderedDescending 左边 > 右边  

    NSComparisonResult result2 = [@"abc" compare:@"Abc"];  

    if (result2 == NSOrderedAscending) {  

        NSLog(@"左边 < 右边");  

    } else if (result2 == NSOrderedDescending) {  

        NSLog(@"左边 > 右边");  

    } else if (result2 == NSOrderedSame) {  

        NSLog(@"左边 = 右边");  

    }  

  

  

    // 忽略大小写进行比较,其他的和compare一致  

    [@"abc" caseInsensitiveCompare:@"Abc"];   

 

字符串的搜索

[objc] view
plaincopy

NSString *str2 = @"123456456.txt";  

  

NSLog(@"是否以22开头:%i", [str2 hasPrefix:@"22"]); // 输出:0  

NSLog(@"是否以txt结尾:%i", [str2 hasSuffix:@"txt"]); // 输出:1  

  

NSRange range = [str2 rangeOfString:@"456"];  

if (range.location == NSNotFound) { // 或者 range.length == 0;  

    NSLog(@"不能找到");  

} else {  

    NSLog(@"找到的范围是:%@", NSStringFromRange(range)); // 输出:{3,3}  

}  

  

// 从尾部开始搜搜字符串  

range = [str2 rangeOfString:@"456" options:NSBackwardsSearch];  

NSLog(@"找到的范围是:%@", NSStringFromRange(range)); // 输出:{6,3}  

  

// 指定范围进行搜索  

//[str rangeOfString:<#(NSString *)#> options:<#(NSStringCompareOptions)#> range:<#(NSRange)#>];  

 

字符串的截取  

[objc] view
plaincopy

NSString *str3 = @"123456";  

  

      

    // 从索引3开始截取到尾部(包括索引3)  

    NSLog(@"%@", [str3 substringFromIndex:3]); // 输出:465  

      

    // 从头部开始截取到索引3之前(不包括索引3)  

    NSLog(@"%@", [str3 substringToIndex:3]); // 输出:123  

      

    // 指定范围进行截取  

    NSRange range1 = NSMakeRange(2, 3);  

    NSLog(@"%@", [str3 substringWithRange:range1]); // 输出:345  

      

    // 用指定字符分割字符串  

    NSString *str4 = @"1-2-3-4-5";  

    NSArray *array = [str4 componentsSeparatedByString:@"-"];  

    NSLog(@"%@", array); // 输出:(1,2,3,4,5) 就是打印数组那种格式  

 

与路径相关

[objc] view
plaincopy

// 快速创建一个自动释放的数组,把三个字符串对象添加进去  

  

    NSMutableArray *components = [NSMutableArray array];  

    [components addObject:@"Users"];  

    [components addObject:@"Lvxing"];  

    [components addObject:@"Desktop"];  

      

  

// 将数组中的所有字符拼接成一个路径  

  

    NSString *path = [NSString pathWithComponents:components];  

    NSLog(@"%@", path);  

      

    // 将路径分解成一个数组  

    NSArray *cmps = [path pathComponents];  

    NSLog(@"%@", cmps); // 输出:(Users,Lvxing,Desktop)  

  

      

    // 判断是否为绝对路径(依据是前面有无/)  

    path = @"/Users/lvxing/Desktop/untitled folder/随堂练习/Foundation-NSString常用方法";  

    NSLog(@"%i", [path isAbsolutePath]); // 输出:1  

      

    // 最后一个目录  

    NSLog(@"最后一个目录:%@", [path lastPathComponent]);  

      

  

// 删除最后一个目录 字符串path结尾变成随堂练习  

  

    NSLog(@"%@", [path stringByDeletingLastPathComponent]);  

      

  

// 在最后面拼接一个目录 会将abc拼接在字符串path后面  

  

    NSLog(@"%@", [path stringByAppendingPathComponent:@"abc"]);  

    

拓展名处理 

[objc] view
plaincopy

// 依据是.  

NSString *str5 = @"/Users/lvxing/Desktop/test.txt";  

NSLog(@"%@", [str5 pathExtension]); // 输出:txt  

  

// 删除拓展名 结尾变成 test  

NSLog(@"%@", [str5 stringByDeletingPathExtension]);  

  

// 添加拓展名  

NSLog(@"%@", [@"abc" stringByAppendingPathExtension:@"mp3"]); // 输出:abc.mp3  

    

其他用法

[objc] view
plaincopy

// 把字符串数字转成数字  

NSString *str6 = @"12";  

int a = [str6 intValue];  

NSLog(@"%i", a); // 输出:12  

  

// 计算字数,不是计算字符数  

NSLog(@"length = %lu", [@"我是字符串123" length]); // 输出:length = 8  

  

  

// 取出对应字符  

unichar c = [@"abc" characterAtIndex:0];  

NSLog(@"%c", c); // 输出:a  

  

// 返回C语言中的字符串  

const charchar *s = [@"abc" UTF8String];  

NSLog(@"%s", s); // 输出:abc  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: