OC - 第四章 字符串

//                      第四章 字符串

  //OC字符串:unichar(unicode码)组成 C语言:ASCII码

  //不可变字符串 NSString 自身的长度以及内容都是不可变的
  {
            {
                NSString *str1 = @"change";
                str1 = @"IOS";
                //@"change" = @"IOS";错误写法
            }

            //1.创建字符串的五种方式:
            {
                //第一种:
                NSString *str = @"我勒个去";//语法糖  常量字符串 字面量
                //第二种:
                NSString *_str = [[NSString alloc]initWithString:@"我勒个去"];
                //第三种: 通过一个字符串创建另外一个字符串 用的很少
                NSString *str5 = [[NSString alloc]initWithString:str];
                //第四种: 创建一个格式化字符串
                NSString *str1 = [[NSString alloc]initWithFormat:@"%@, 大湿胸, 师傅被妖怪抓走了", str];//字符串拼接
                //第五种:
                NSString *str4 = [NSString stringWithFormat:@"%@ %@",str1, str1];//便利构造器
            }

            //2.字符串的常用方法
            {
                NSString *str = @"helloworld";
                //1.从索引处开始截取,截取到字符串最后
                NSString *result = [str substringFromIndex:5];

                //2.从字符串开始截取到索引处,但是不包括索引处的字符
                NSString *str1 = [str substringToIndex:5];

                //3.截取指定范围内的字符
                NSString *str2 = [str substringWithRange:NSMakeRange(2, 5)];
                NSRange range = {2, 5};
                NSString *str4 = [str substringWithRange:range];

                //4.字符串的拼接
                NSString *str3 = [str1 stringByAppendingString:str2];

                //5.判断两个字符串是否相等
                BOOL result1 = [str1 isEqualToString:str2];

                //6.字符串比较的返回值, 升序, 相等, 降序
                NSComparisonResult comparisonResult = [str1 compare:str2];
                switch (comparisonResult) {
                    case NSOrderedAscending:
                        NSLog(@"str1比str2小");
                        break;
                    case NSOrderedSame:
                        NSLog(@"str1和str2相等");
                        break;
                    case NSOrderedDescending:
                        NSLog(@"str1比str2大");
                        break;
                    default:
                        break;
                }

                //7.判断一个字符串是否以**开头
                [str hasPrefix:@"Jen"];

                //8.判断一个字符串是否以**结尾
                [str hasSuffix:@"vi"];

                //9.是否包含某个字符串
                [str containsString:@" l"];

                //10.大小写转换
                NSString *strA = [str uppercaseString];
                NSString *strB = [str lowercaseString];
                //每个单词的首字母大写, 其余小写
                NSString *strC = [str capitalizedString];

                //11.替换
                {
                    //根据范围来替换
                    NSString *str = @"苍苍老师.rmvb";
                    NSString *str1 = [str stringByReplacingCharactersInRange:NSMakeRange(5, 4) withString:@"avi"];

                    //将str中所有的"苍"替换成"波波"
                    NSString *str2 = [str1 stringByReplacingOccurrencesOfString:@"苍" withString:@"波波"];
                    NSLog(@"%@",str2);
                }

                //12.OC和C语言字符串的转换
                {
                    //将C字符串转换成OC字符串
                    char *a = "iPhone";
                    NSString *str = [[NSString alloc]initWithUTF8String:a];

                    //将OC字符串转换成C字符串
                    const char *q = [str UTF8String];
                }
        }
   }

  //可变字符串 NSMutableString 继承不可变字符串 引用不可用字符串方法仍需返回
  {
            //1.字符串的定义
            NSMutableString *mStr = [[NSMutableString alloc]initWithString:@"ione"];

            //2.插入字符串
            [mStr insertString:@"Ph" atIndex:1];

            //3.拼接字符串
            [mStr appendString:@"6s"];

            //4.根据范围删除
            [mStr deleteCharactersInRange:NSMakeRange(3, 3)];
            NSLog(@"%@",mStr);

            //5.替换:替换后可以任意长度
            [mStr replaceCharactersInRange:NSMakeRange(3, 2) withString:@"one6s plus"];
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值