Foundation框架(4)——NSString的常见操作:大小写转换、字符串比较、搜索、截取、构建路径、拓展名等用法

//
//  main.m
//  Foundation4-NSString的其他用法
//
//  Created by Mac on 15-1-18.
//  Copyright (c) 2015年 vxinyou. All rights reserved.
//

#import 
    
    
     
     

#pragma mark 字符串大小写处理
void caseTest(){

    NSString *str = @"GuangZhou";
    // 转成大写
    NSLog(@"大写:%@", [str uppercaseString]);// 大写:GUANGZHOU
    // 转成小写
    NSLog(@"小写:%@", [str lowercaseString]);// 小写:guangzhou
    // 首字母变大写,其他字母变小写
    NSLog(@"首字母变大写:%@", [str capitalizedString]);// 首字母变大写:Guangzhou
    
}

#pragma mark 字符串的比较
void compare(){

    BOOL result = [@"abc" isEqualToString:@"abc"];
    // YES为1,NO为0
    NSLog(@"%i", result);
    
    NSComparisonResult result2 = [@"abc" compare:@"Abc"];
    if (result2 == NSOrderedSame) {
        NSLog(@"两个字符串内容相同");
    }else if (result2 == NSOrderedAscending){
        NSLog(@"左边
     
     <右边"); }else if (result2="=" nsordereddescending){ nslog(@"左边>
      
      右边");
    }
    // 打印结果:左边>右边

}

#pragma mark 字符串的搜索
void search() {
    NSString *str = @"123456456.txt";
    
    NSLog(@"是否以22开头:%i", [str hasPrefix:@"22"]);
    NSLog(@"是否以txt结尾:%i", [str hasSuffix:@"txt"]);
    
    // 搜索字符串
    NSRange range = [str rangeOfString:@"456"];
    // range.length == 0
    if (range.location == NSNotFound) {
        NSLog(@"不能找到");
    } else {
        NSLog(@"找到的范围是:%@", NSStringFromRange(range));
    }
    
    // 从尾部开始搜索字符串
    range = [str rangeOfString:@"456" options:NSBackwardsSearch];
    NSLog(@"%@", NSStringFromRange(range));
    
    // 指定范围进行搜索
    // [str rangeOfString:@"456" options:NSBackwardsSearch range:<#(NSRange)#>];
}

#pragma mark 字符串的截取
void subString() {
    NSString *str = @"123456";
    
    // 从索引3开始截取到尾部(包括3)
    NSLog(@"%@", [str substringFromIndex:3]);
    
    // 从头部开始截取到索引3之前(不包括3)
    NSLog(@"%@", [str substringToIndex:3]);
    
    // 指定范围进行截取
    NSRange range = NSMakeRange(2, 3);
    NSLog(@"%@", [str substringWithRange:range]);
    
    NSString *str2 = @"a-b-c-d-5";
    NSArray *array = [str2 componentsSeparatedByString:@"-"];
    NSLog(@"%@", array);
    
    NSString *str3 =  [array objectAtIndex:0];
    NSLog(@"%@", str3);
}

#pragma mark 与路径相关
void pathTest() {
    // 快速创建一个自动释放的数组
    NSMutableArray *components = [NSMutableArray array];
    [components addObject:@"Users"];
    [components addObject:@"MJ"];
    [components addObject:@"Desktop"];
    // 将数组中的所有字符串拼接成一个路径
    NSString *path = [NSString pathWithComponents:components];
    NSLog(@"%@", path);
    
    // 将路径分解成一个数组
    NSArray *cmps = [path pathComponents];
    NSLog(@"%@", cmps);
    
    // path是一个字符串常量,是不可变的
    path = @"/users/mj/test";
    // 判断是够为绝对路径(依据是前面有无/)
    NSLog(@"%i", [path isAbsolutePath]);
    NSLog(@"最后一个目录:%@", [path lastPathComponent]);
    // 删除最后一个目录
    NSLog(@"%@", [path stringByDeletingLastPathComponent]);
    // 在最后面拼接一个目录
    NSLog(@"%@", [path stringByAppendingPathComponent:@"abc"]);
}

#pragma mark 拓展名处理
void extension() {
    NSString *str = @"/User/MJ/test.txt";
    
    NSLog(@"拓展名:%@", [str pathExtension]);
    // 删除拓展名
    NSLog(@"%@", [str stringByDeletingPathExtension]);
    // 添加拓展名
    NSLog(@"%@", [@"abc" stringByAppendingPathExtension:@"mp3"]);
}

#pragma mark 其他用法
void other() {
    NSString *str = @"12";
    int a = [str intValue];
    NSLog(@"%i", a);
    
    // 计算字数,不是计算字符数
    NSLog(@"length=%zi", [@"我是字符串123" length]);
    
    // 取出对应的字符
    unichar c = [@"abc" characterAtIndex:0];
    NSLog(@"%c", c);
    
    // 返回C语言中的字符串
    const char *s = [@"abc" UTF8String];
    NSLog(@"%s", s);
}

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
//        caseTest();
//        compare();
        
    }
    return 0;
}

     
     
    
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值