NSString的各种用法,包括扩展名的pathExtension

#import <Foundation/Foundation.h>



//大小写处理
void caseTest(){

NSString *str=@"GuangDong";
    //转成大写
    NSLog(@"大写:%@",[str uppercaseString]);
    //转成小写
    NSLog(@"小写:%@",[str lowercaseString]);

    //首字母变大写,其他字母都变小写
    NSLog(@"首字母大写,其他小写:%@",[str capitalizedString]);
    
}

//检测字符串的内容是否相同
void compare(){

    
    BOOL result=[@"abc" isEqualToString:@"abc"];  //因为是bool类型的所以返回值为1或0,是1的话就为真否则为假。
    NSLog(@"%i",result);
}

//比较两个字符串的大小
void compare2(){
//NSOrderedAscending   //右边的字符串比左边的大
    //NSOrderedSame //两个字符串的内容相同
    //NSOrderedDescending 左边的字符串比右边的大

   NSComparisonResult result=[@"abc" compare:@"Abc"];
    if(result==NSOrderedSame)
    {
        NSLog(@"两个字符串的内容相同");
    }
    else if(result==NSOrderedAscending){
        NSLog(@"右边的>左边的 ");
    }
    else if(result==NSOrderedDescending)
        {
            NSLog(@"左边的>右边的");
        }
    }


//字符串的搜索
void search(){

    NSString *str=@"123456.txt";//这样的文件名
  //  [str hasPrefix:@"12"];//判断字符串是否是以12开头
    NSLog(@"是否以12开头:%i",[str hasPrefix:@"12"]);
    
    //判断字符串str是否以txt结尾
    NSLog(@"是否以txt结尾:%i",[str hasSuffix:@"txt"]);
    
    //判断345在str字符串的位置(范围);
    //如果有,会找到返回的位置和长度,找不倒的话,就返回0
    NSRange range=[str rangeOfString:@"345"];
    NSLog(@"%@",NSStringFromRange(range));
    //找到 Nsstring 常用方法[940:303] {2, 3}
    //找不到常用方法[956:303] {9223372036854775807, 0}
    if(range.location==NSNotFound){
        NSLog(@"不能找到");
    }else{
    NSLog(@"找到的范围是:%@",NSStringFromRange(range));
    }
    //常用方法[994:303] 不能找到
    
    
    //从尾部开始搜索
    range=[str rangeOfString:@"456" options:NSBackwardsSearch];
    NSLog(@"%@",NSStringFromRange(range));
    
    
    //指定的范围你行搜索
    [str rangeOfString:@"456" options:NSBackwardsSearch ];

}


//字符串的截取
void subString()
{
   
    NSString *str=@"123456";
    //从索引3开始截取字符串到尾部
    NSLog(@"%@",[str substringFromIndex:3]);

    //从头开始一直截取到这个索引之前
    NSLog(@"%@",[str substringToIndex:3]);
    
    
    //从某一个范围进行截取
    NSRange range=NSMakeRange(2, 3);
    NSLog(@"%@",[str substringWithRange:range]);

//以某一字符作为分隔符然后截取
    NSString *str2=@"1,2,3,4,5";
    NSArray *array=[str2 componentsSeparatedByString:@","];
    NSLog(@"%@",array);
    
    //根据索引取数据
    NSString *str3=[array objectAtIndex:2];  //objectAtIndex就是索引数据
    NSLog(@"%@",str3);
    
    
}

//与路径相关的
void pathTest(){
    //快速创建一个自动释放的数组
    NSMutableArray *components=[NSMutableArray array];  //可变数组
    [components addObject:@"Users"];
    [components addObject:@"MJ"];
    [components addObject:@"Desktop"];
   //将数组中的所有字符串拼接成一个路径
   NSString *path= [NSString pathWithComponents:components];
    NSLog(@"%@",path);//拼接结果常用方法[1281:303] Users/MJ/Desktop

    
    //将一个路径拆分成几个数组
    NSArray *cmps=[path pathComponents];
    NSLog(@"%@",cmps);
    
    
    //判断是不是绝对路径
    //判断依据就是在最前面是不是有斜杠“/”
    path=@"users/mj/test";
    NSLog(@"%i",[path isAbsolutePath]);// 0
    
    
    //查询最后一个文件夹
    path=@"users/mj/test";
    NSLog(@"最后一个目录:%@",[path lastPathComponent]);//最后一个目录:test
    
    
    //获得最后一个目录并且把他删除,然后返回一个新的路径
    path=@"users/mj/test";
    NSLog(@"%@",[path stringByDeletingLastPathComponent]);//users/mj
    
    
    //在路径的后面再拼接一个路径
    NSLog(@"%@",[path stringByAppendingPathComponent:@"abc"]);//users/mj/test/abc

}

//拓展名处理
void exetension(){
NSString *str=@"/User/MJ/test.txt";
    //判断拓展名
    NSLog(@"拓展名:%@",[str pathExtension]);//拓展名:txt
    
    //删掉拓展名
    NSLog(@"%@",[str stringByDeletingPathExtension]);///User/MJ/test

    //在字符串后面拼接一个拓展名
    NSLog(@"%@",[@"abc"stringByAppendingPathExtension:@"mp3"]);//abc.mp3
}


//nsstring 的其他用法
void other()
{
    //将字符串str强行转换为int类型
    NSString *str=@"12222";
    int a=[str intValue];
    NSLog(@"%i",a);//12222

    int bb=[str doubleValue];
    NSLog(@"%i",bb);//12222
    
    int cc=[str floatValue];
    NSLog(@"%i",cc);//12222
    
    
    //判断字符串的字数,不是计算字符数
    NSLog(@"length=%zi",[@"我是字符串" length]);//length=5
    
 
    //取出对应的字符
    unichar c =[@"abc" characterAtIndex:0];//a
    NSLog(@"%c",c);

    //返回c语言中的字符串
    const char *s=[@"abc" UTF8String];   //abc
    NSLog(@"%s",s);
}


int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
    //caseTest();
       // compare();
         // compare2();
        //search();
       // subString();
        //pathTest();
        
        //exetension();
        other();
    }
    return 0;
}

 NSString *extension = picture.image1.pathExtension;

   if (![extension.lowercaseString isEqualToString:@"gif"]) {

        self.gifImageview.hidden = YES;

    }

    

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值