OC字符串的操作1

//字符串的操作
        NSString *string10=@"真是日了竹竿了!";
        //字符串属性   长度 length
        NSUInteger length=[string10 length];
        NSLog(@"length=%lu",length);
        //字符串的截取
        NSString *substring1=[string10 substringToIndex:5];//获取字符串开头到字符串的 to 的位置的字符串内容,不包括to的位置,从0开始算起
        NSLog(@"%@",substring1);
        NSString *substring2=[string10 substringFromIndex:2];//获取从字符串的from位置到结尾的字符串内容,包含from位置的字符
        NSLog(@"%@",substring2);
        NSString *substring3=[string10 substringWithRange:NSMakeRange(2, 3)];
        NSLog(@"%@",substring3);
        //获取字符串中的某个字符
        NSString *string11=@"abcdefg";
        char c3=[string11 characterAtIndex:0];//根据字符串中的位置 index 来得到一个字符,注意字符串的索引是从0开始的
        NSLog(@"%c",c3);
        //字符串比较,如何判断两个字符串是否相等
        if (substring3==substring2) {
            //内容和指针都相等时,才成立
            NSLog(@"相等");
        }
        else
            NSLog(@"不相等");
        /*
         如何才能让两个字符串的指针和内容都相等?
        
         这里需要注意两个概念:浅拷贝 和 深拷贝
         浅拷贝:是指源对象与拷贝对象共用一份实体,仅仅是引用的变量名称不同。
         
         深拷贝:是指源对象与拷贝对象互相独立,其中任何一个对象的改动都不会对另一个对象造成影响。
         
         在字符串中,[NSString stringWithString:]方法是用于浅拷贝一个现有的字符串产生一个字符串
         */
        NSString *substring4=[NSString stringWithString:substring2];
        NSString *substring5=[NSString stringWithFormat:@"%@",substring2];
        if (substring4==substring2) {
            //内容和指针都相等时,才成立
            NSLog(@"相等");
        }
        else
            NSLog(@"不相等");
        //在实际开发过程中,我们通常只需要比较两个字符串的内容是否相等
        if ([substring2 isEqualToString:substring5]) {
            NSLog(@"内容相等");
        }
        else
            NSLog(@"内容不相等");
    }
    //比较两个字符串的大小
    NSString *cmpString1=@"he";
    NSString *cmpString2=@"ha";
    NSComparisonResult result=[cmpString1 compare:cmpString2];
    switch (result) {
        case NSOrderedAscending:
        {
            NSLog(@"cmpString1<cmpString2,升序");
        }
            break;
            case NSOrderedSame:
        {
            NSLog(@"cmpString1=cmpString2");
        }
            break;
            case NSOrderedDescending:
        {
            NSLog(@"cmpString1>cmpString2,降序");
        }
            break;
            
        default:
            break;
    }
    //根据字符串拿到对应的range
    NSString *string11=@"你是逗逼吗,我都受不了你了";
    NSRange ran=[string11 rangeOfString:@"逗逼"];
    NSLog(@"%@",[NSValue valueWithRange:ran]);
    //只输出第一个遇到该字符串的位置 及 该字符串的长度
    NSRange ran1=[string11 rangeOfString:@"受不了"];
    NSLog(@"%@",[NSValue  valueWithRange:ran1]);
    
    //判断字符串中是否有xx前缀 或 xx后缀
    NSString *string12=@"http://www.baidu.com";
    
    if ([string12 hasPrefix:@"http://"]) {
        NSLog(@"含有此前缀");
    }
    else
    {
        NSLog(@"不含有此前缀");
    }
    //判断是否为 jpg 或 png 后缀
    NSString *string13=@"a123.jpg";
    if ([string13 hasSuffix:@".jpg"] || [string13 hasSuffix:@"png"]) {
        NSLog(@"含有此后缀");
    }
    else
    {
        NSLog(@"不含有此后缀");
    }
    
    //字符串的拼接
    NSString *string14=@"www.baidu.com";
    //直接吧两个字符串连接起来,调用者再前,传进来的字符串在后
    NSString *string15=[@"http://" stringByAppendingString:string14];
    NSLog(@"string15 = %@",string15);
    
    //图片地址:http://img0.bdstatic.com/img/image/shouye/hbmnp003.jpg
    NSString *string17=@"http://img0.bdstatic.com/img/image/shouye";
    NSString *string18=@"hbmnp003.jpg";
    NSString *string19=[string17 stringByAppendingFormat:@"/%@",string18];//连接两个字符串,并且第二个字符串是按一定格式传进来的
    NSLog(@"string19=%@",string19);
    NSString *string20=[string17 stringByAppendingPathComponent:string18];
    //一般用来拼接地址,而不是拼接网址,/只会出现一个
    NSLog(@"string20=%@",string20);
    
    NSString *string21=@"http://img0.bdstatic.com/img/image/shouye/hbmnp003.jpg";
    NSString *string22=[string21 lastPathComponent];//读取最后一个/后面的鬼东西
    NSLog(@"string22=%@",string22);
    
    NSString *theImageName=@"Rick";
    NSString *string23=@"png";
//    NSString *string24=[theImageName stringByAppendingFormat:@".%@",string23];
    NSString *string24=[theImageName stringByAppendingPathExtension:string23];
    //会加点并且拼接
//    NSLog(@"%@",string24);
    NSLog(@"string24=%@",string24);
    
    //字符串的其他常用方法
    //1.字符串的转化函数
    NSString *str1=@"111add333";
    int a1=[str1 intValue];//只打印字符前面的数字,如果前面有字符则打印出0
    float b1=[str1 floatValue];
    double c1=[str1 doubleValue];
    NSLog(@"%d",a1);
    //2.字符串大小写转换函数
    NSString *str2=@"aabbCbb";
    NSString *str3=[str2 uppercaseString];//将字符全部转化为大写
    NSLog(@"str3=%@",str3);
    NSString *str4=[str3 lowercaseString];//将字符全部转化为小写
    NSLog(@"str4=%@",str4);
    NSString *str5=[str2 capitalizedString];//将首个字符改写成大写,其余的都小写
    NSLog(@"str5=%@",str5);
    
    //字符串的替换函数
   NSString *str6= [str2 stringByReplacingOccurrencesOfString:@"bb" withString:@"dd"];
    NSLog(@"str6=%@",str6);
    NSString *str7=[str2 stringByReplacingCharactersInRange:NSMakeRange(1, 2) withString:@"cc"];//将原字符串中的range范围内的内容替换成replacement的内容
     NSLog(@"str7=%@",str7);
    
    NSString *str8=@"aa-bb-cc-dd-ee";
    
    NSArray *array = [str8 componentsSeparatedByString:@"-"];
    //以separator为分隔符,将原字符串的内容进行分割,分割得到的结果放到一个数组里,作为返回值
    NSLog(@"array=%@",array);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值