zoukankan      html  css  js  c++  java
  • Foudation框架之字符串

    一 字符串

    二 可变字符串的初始化方法

    1>>对象方法的初始化  init是对象方法

         //将不可变字符串转换为可变字符串

        NSMutableString *str2=[[NSMutableString alloc] initWithString:str1];

            NSLog(@"%ld",str2.length);

            [str2 insertString:@"lll" atIndex:3];

           NSLog(@"%@",str2);

            

           //拼接字符串,插入最后str2.length,字符串长度自然加后面字符串长度,C语言不同长度数组越界

                              拼接之前 atIndex后面就是 0

            [str2 insertString:@"and lisi" atIndex:str2.length];

            NSLog(@"%@",str2);

     

            //在后面拼接

            [str2 appendString:@"and lisi"];

     

            //0开始删除3个字符

            [str2 deleteCharactersInRange:NSMakeRange(6, 5)];

     

            //替换字符串替换范围内的字符串

            [str2 replaceCharactersInRange:NSMakeRange(6, 5) withString:@"wang"];

     

            //替换所有的字符的字符串

            [str2 replaceOccurrencesOfString:@"a" withString:@"p" options:NSCaseInsensitiveSearch range:NSMakeRange(0, str2.length)];

              

            //C语言字符串转为可变字符串

            char *name="zhangsan";

        NSMutableString *str3=[[NSMutableString alloc] initWithUTF8String:name];

            NSLog(@"%ld",str3.length);

                

            //通过格式化来初始化可变字符串

        NSMutableString *str4=[[NSMutableString alloc] initWithFormat:@"hell%d",123];

            NSLog(@"%ld",str4.length);

                  

            //通过字符串的长度来初始化字符串  0

        NSMutableString *str5=[[NSMutableString alloc] initWithCapacity:10];

                  

         //直接初始化  0

        NSMutableString *str6=[[NSMutableString alloc] init];

            [str6 insertString:@"lisi" atIndex:0];

     

     2>>类方法的初始化   stringWith是类方法    

         

            NSMutableString *str7=[NSMutableString stringWithUTF8String:name];

            NSMutableString *str8=[NSMutableString stringWithFormat:@"hell%d",123];

            NSMutableString *str9=[NSMutableString string];

            NSMutableString *str10=[NSMutableString stringWithString:@"lisi"];

    三.存储位置

                常量区:放入常量区的都是常量不可更改  NSString *temp=@"hello"; const double b=20

                栈:基本数据类型和构造类型,有序的 int a=10double b=20int * p

                堆:一般存放 对象,无序的

           

        指针变量存放在栈里面且存储的是对象的地址,对象放在堆里面

            NSString *temp=@"hello";

            NSMutableString mt1=[NSMutableString stringWithString:temp];

            NSMutableString mt2=[NSMutableString stringWithString:temp];

    //        mt1mt2的地址是不同的,假设相同,改变mt1的值同样的mt2也会改变

     

    注:C语言字符串和OC字符串的区别

  • 相关阅读:
    深入理解 Spring 事务原理
    spring+springMVC,声明式事务失效,原因以及解决办法
    spring 中常用的两种事务配置方式以及事务的传播性、隔离级别
    【Spring aop】Spring aop的XML和注解的两种配置实现
    Java消息队列--ActiveMq 实战
    【Android】Android开发实现进度条效果,SeekBar的简单使用。音量,音乐播放进度,视频播放进度等
    【Android】Android开发实现带有反弹效果,仿IOS反弹scrollview详解教程
    【Android】安卓开发之activity如何传值到fragment,activity与fragment传值
    【Android】Android开发初学者实现拨打电话的功能,拨打电话app小demo实现
    【Android】SlidingTabLayout实现标题栏,教你制作title标题 简单易学。
  • 原文地址:https://www.cnblogs.com/gzoof/p/5434060.html
Copyright © 2011-2022 走看看