【4练习】NSString的各种用法
// // main.m // Nsstring 常用方法 // // Created by 裴烨烽 on 14-1-29. // Copyright (c) 2014年 裴烨烽. All rights reserved. // #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; }