黑马程序员----OC学习NSString使用方法

在Foundation框架中,提供了NNString类,用于处理字符串对象。在C语言中字符串在一对引号中表示。OC是C语言的一种延展,换句话说,OC语言是建立在C语言的基础之上(C的基础之上添加了面向对象的内容,smalltalk语言)。因此,为了区别两者的字符串,OC语言的字符串必须以@开头,引号当中则是字符串的内容,如@”abc“.此外,NSString对象,一旦被创建,就不可以在进行修改。如若需要一个可以更改的字符串对象,需要创建NSMutableString实例。

NSString *str1 = @"Car";
NSString *str2 = @"Tree";

//全部转为大写
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));
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);
  
// trim
NSString *str = @"  abcd   ";
NSString *str2 = [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSLog(@"%@",str);
NSLog(@"%@",str2);



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值