NSString常用方法与技巧

NSString *str1 = @"BeiJing";  
NSString *str2 = @"beijing";  

//全部转为大写  
NSLog(@"%@",[str1 uppercaseString]);  

//全部转为小写  
NSLog(@"%@",[str1 lowercaseString]);  

//首字母大写  
NSLog(@"%@",[str1 capitalizedString]);  

//比较两个字符串内容是否相同  
BOOL b =[str1 isEqualToString:str2];  

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

//忽略大小写进行比较,返回值与compare一样  
result = [str1 caseInsensitiveCompare:str2];  
if (result == NSOrderedAscending) {  
	NSLog(@"右边 > 左边");  
}else if(result == NSOrderedSame){  
	NSLog(@"内容相同");  
}else if (result == NSOrderedDescending){  
	NSLog(@"左边 > 右边");  
}  

//判断字符串是否以指定字符串开头  
[str1 hasPrefix:@"aaa"];  
//判断字符串是否以指定字符串结尾  
[str1 hasSuffix:@"aaa"];  

//判断字符串是否包含指定字符串,返回位置和长度  
NSRange range = [@"123456" rangeOfString:@"456"];  
NSLog(@"%@", NSStringFromRange(range));  

//反向搜索  
range = [@"123456456qweasasd456" rangeOfString:@"456" options:NSBackwardsSearch];  
NSLog(@"%@",NSStringFromRange(range));  

//指定范围进行搜索  
range = NSMakeRange(0, 9);  
range = [@"123456456qweasasd456" rangeOfString:@"456" options:NSBackwardsSearch range:range];  
NSLog(@"%@",NSStringFromRange(range));  <pre name="code" class="java">//字符串的截取  
        NSString *str = @"123456789";  
        NSLog(@"%@",[str substringFromIndex:3]);  
        NSLog(@"%@",[str substringToIndex:6]);  
        NSLog(@"%@",[str substringWithRange:NSMakeRange(3, 3)]);  
          
        //用指定字符串分割字符串,返回一个数组  
        NSArray *array = [@"1,2,3,4,5,6" componentsSeparatedByString:@","];  
        NSLog(@"%@",array);  
          
        //将数组中的字符串组合成一个文件路径  
        NSMutableArray *components = [NSMutableArray array];  
        [components addObject:@"Users"];  
        [components addObject:@"CentralPerk"];  
        [components addObject:@"Desktop"];  
        NSString *path = [NSString pathWithComponents:components];  
        NSLog(@"%@",path);  //Users/CentralPerk/Desktop  
          
        //将一个路径分割成一个数组  
        NSArray *array1 = [path pathComponents];  
        NSLog(@"%@",array1);  
          
        //判断是否为绝对路径(依据:是否以'/'开始)  
        path = @"/Users/CentralPerk/Desktop";  
        NSLog(@"%i",[path isAbsolutePath]);  
          
        //获取最后一个目录  
        NSLog(@"%@",[path lastPathComponent]);  
          
        //删除最后一个目录  
        NSLog(@"%@",[path stringByDeletingLastPathComponent]);  
          
        //拼接一个目录  
        NSLog(@"%@",[path stringByAppendingPathComponent:@"aaa"]);   ///Users/CentralPerk/Desktop/aaa  
        NSLog(@"%@",[path stringByAppendingString:@"aaa"]);      ///Users/CentralPerk/Desktopaaa  
        NSLog(@"%@",[path stringByAppendingFormat:@"%@%@",@"b",@"c"]);  ///Users/CentralPerk/Desktopbc  
          
        //拓展名出来  
        //获取拓展名,不带.  
        NSString *str2 = @"Users/CentralPerk/Desktop/test.txt";  
        NSLog(@"%@",[str2 pathExtension]);  
        //添加拓展名,不需要带.  
        NSLog(@"%@",[str2 stringByAppendingPathExtension:@"mp3"]);  
        //删除拓展名,带.一块删除  
        NSLog(@"%@",[str2 stringByDeletingPathExtension]);  
          
        //字符串转为 int double float  
        NSString *str3 = @"123";  
        NSLog(@"%i",[str3 intValue]);  
        NSLog(@"%zi",[str3 length]);  
          
        //取出指定位置的字符  
        unichar c = [str3 characterAtIndex:2];  
        NSLog(@"%c",c);  
          
        //转为C语言的字符串  
        const char *s = [str3 UTF8String];  
        NSLog(@"%s",s);  



2.  OC-NSString去掉两边的空格,类似trim

NSString *str = @"  abcd   ";  
NSString *str2 = [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];  
NSLog(@"%@",str);  
NSLog(@"%@",str2); 




 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kyle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值