Object-C 学习笔记(十三)---Foundation之NSString

字符串在软件开发中是最常用的数据类型,我们一起来学习OC里面的字符串各大操作

下面是字符串常用的基本操作,各种语言中都会涉及到这样的操作.

例子:

//
//  main.m
//  Foundation-NSString
//
//  Created by 5016 on 13-12-11.
//  Copyright (c) 2013年 dradon. All rights reserved.
//

#import <Foundation/Foundation.h>

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

    @autoreleasepool {
        //NSString类 子类:NSMutableString
        //1.创建一个字符串常量
        NSString *str1 = @"这是一个字符串常量";
        NSLog(@"str1 = %@",str1);
        //2.创建一个空的字符串
        NSString *str2 = [[NSString alloc] init];
        NSString *str3 = [NSString string];
         NSLog(@"str2 = %@",str2);
         NSLog(@"str3 = %@",str3);
        //3.快速创建一个字符串 常量区
        NSString *str4 = [[NSString alloc] initWithString:@"dragon"];
        NSString *str5 = @"dragon";//等价于[NSString stringWithString:@"dragon"];
         NSLog(@"str4 = %@",str4);
         NSLog(@"str5 = %@",str5);
        //4.创建一个格式化的字符串 堆区
        NSString *str6 = [[NSString alloc] initWithFormat:@"整数%d",23];
        NSString *str7 = [NSString stringWithFormat:@"浮点数%f",22.23];
        NSString *str = [NSString stringWithFormat:@"整数%d",23];
         NSLog(@"str6 = %@",str6);
         NSLog(@"str7 = %@",str7);
        
        //5.比较内容是否相同 isEqualToString
        if([str6 isEqualToString:str7]){
            NSLog(@"相同");
        }else{
            NSLog(@"不相同");
        }
        if([str isEqualToString:str6]){
            NSLog(@"相同");
        }else{
            NSLog(@"不相同");
        }
        
        //6.判断指针是否指向同一个地方 == (不仅内容相同,而且空间相同)NSMutableString则是在堆区
       //证明在常量区
        NSString *str8 = [NSString stringWithString:@"DRAGON"];
        NSString *str9 = [NSString stringWithString:@"DRAGON"];
        if(str8 == str9){
            NSLog(@"相同");
        }else{
            NSLog(@"不相同");
        }
        //证明在堆区
        NSString *str10 = [NSString stringWithFormat:@"DRAGON"];
        NSString *str11 = [NSString stringWithFormat:@"DRAGON"];
        if(str10 == str11){
            NSLog(@"相同");
        }else{
            NSLog(@"不相同");
        }
        
        //7.比较字符串的大小(根据ASCII码) caseInsensitiveCompare 返回是一个整型: -1 0 1
        NSString *str12 = [NSString stringWithFormat:@"abc"];
        NSString *str13 = [NSString stringWithFormat:@"bce"];
        NSComparisonResult result = [str12 caseInsensitiveCompare:str13];
        NSLog(@"%ld",result);
        
        //8.求字符串长度
        NSLog(@"str13的长度=%ld",[str13 length]);
        
        //9.字符串的转换
        NSString *str14 = @"DrAgon-yeah";
        NSLog(@"转换成大写字母:%@",[str14 uppercaseString]);
        NSLog(@"转换成小写字母:%@",[str14 lowercaseString]);
        NSLog(@"转换成首字母大写:%@",[str14 capitalizedString]);
        
        //10.转换成为基本数据类型
//        - (double)doubleValue;
//        - (float)floatValue;
//        - (int)intValue;
//        - (NSInteger)integerValue NS_AVAILABLE(10_5, 2_0);
//        - (long long)longLongValue NS_AVAILABLE(10_5, 2_0);
//        - (BOOL)boolValue NS_AVAILABLE(10_5, 2_0);
        NSString *str15 = @"3.141592";
        float pi = [str15 floatValue];
        NSLog(@"pi=%f",pi);
        
        //11.把字符串转换成为数组(必须有规律)componentsSeparatedByString
        NSString *str16 = @"dragon is a good man";
        NSArray *array = [str16 componentsSeparatedByString:@" "];
        NSLog(@"array = %@",array);
        
        //12.截取字符串
        NSString *str17 = [str16 substringToIndex:6];//截取到哪里,取子串
        NSString *str18 = [str16 substringFromIndex:6];//从哪里开始截取,取子串
        NSLog(@"str17 = %@",str17);
        NSLog(@"str18 = %@",str18);
        NSString *str19 = [str16 substringWithRange:NSMakeRange(6, 3)];//范围截取
        NSLog(@"str19 = %@",str19);
        
        //13.拼接字符串
        NSString *str20 = @"good";
        NSString *str21 = @"man";
        NSString *str22 = [[NSString alloc] initWithFormat:@"%@ %@",str20,str21];//初始化
        NSLog(@"str22 = %@",str22);
        NSString *str23 = [str20 stringByAppendingString:str21];//追加
        NSLog(@"str23 = %@",str23);
        NSString *str24 = [str20 stringByAppendingFormat:@" %@",str21];//格式化拼接
        NSLog(@"str24 = %@",str24);
        
        //14.查找字符串
        NSRange range = [str16 rangeOfString:@"good"];//返回位置12,长度4
        NSLog(@"range = %@",NSStringFromRange(range));//转换成为字符串
        if(range.location != NSNotFound){//NSNotFound是字符串最大长度值
            NSLog(@"已经找到");
        }
        
    }
    return 0;
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值