OC中Foundation框架字符串NSString和NSMutableString的使用

一.NSString(创建,和常用方法)

 一. 1.创建,使用类方法

/*****使用类方法创建字符串(常用)*******/

    //创建常用字符串,字符串存储在内存常量区

    NSString *constantString=@"We are family";

    NSLog(@"%@",constantString);

    

    //创建一个空的可变字符,永远为空

    NSString*string1=[NSString string];

    NSLog(@"%@",string1);

    

    //C字符串创建OC对象

    //encoding:表示字符的编码格式(凡是可能用到中文都用NSUTF8StringEncoding

    NSString*string2=[NSString stringWithCString:"123dffggrg3" encoding:NSUTF8StringEncoding];

    NSLog(@"%@",string2);

    //同上

    NSString*string3=[NSString stringWithUTF8String:"122313bljl"];

    NSLog(@"%@",string3);

   

   //使用格式化字符串方式创建字符串

    NSString*string4=[NSString stringWithFormat:@"8oswbdc"];

    NSLog(@"%@",string4);

    

    //OC字符串转化为C字符串(注意用C字符串输出必须是%S)

    const char*cString=[string4 UTF8String];

    NSLog(@"%s",cString);

 2.创建,使用对象方法

/*****适用对象方法创建字符串(常用)******/

    //创建一个空的不可变字符

    NSString*objStr1=[[NSString alloc]init];

    NSLog(@"%@",objStr1);

    

    //C字符串创建OC字符串对象

    NSString*objStr2=[[NSString alloc]initWithCString:"duhwyrw" encoding:NSUTF8StringEncoding];

    NSLog(@"%@",objStr2);

    

    //同上

    NSString*objStr3=[[NSString alloc]initWithUTF8String:"juowhdw"];

    NSLog(@"%@",objStr3);

    

    //使用格式化字符串方式创建OC字符串对象

    NSString*objStr4=[[NSString alloc]initWithFormat:@"khikbcfskdva;"];

    NSLog(@"%@",objStr4);


二.常用方法

//    获取字符串长度%h short

//    %d int 有符号整数 -32767 32768

//    %u unsigned int 无符号整数 0 65565

//    %l long int 有符号长整形

//    %lu unsigned long 无符号长整形

//    %ll long long int

//    %llu unsigned long long [c99]

    NSString*str=@"ncdkis";

    NSLog(@"%lu",str.length);

    

    //获得制定索引位置的字符串

    NSString*str1=@"We are family!";

    unichar c=[str1 characterAtIndex:0];

    NSLog(@"%c",c);

    

    //比较字符串是否相等,返回值为枚举型,—1表示升序排序,0表示相等,1表示降序排序

   NSComparisonResult result=[str1 compare:str];

   NSLog(@"%ld",result);

    

    //比较是否相等,返回值为BOOL型,YESNO(注意不能用==)

    if (![str isEqualToString:str1]) {

        NSLog(@"不相等");

    }else{

        NSLog(@"相等");

    }

    

    //获得从指定索引位置开始的字符串,包括参数位置的字符

    NSLog(@"%@",[str1 substringFromIndex:3]);

    

    //获得从开始到指定索引之间的字符串,不包括参数的位置的字符

    NSLog(@"%@",[str1 substringToIndex:3]);

    

    //将字符串每个单词的首字母换成大写,其他字符换成小写

    NSLog(@"%@",str.capitalizedString);

    

    //判断字符串是否以指定字符结尾(返回值是01)

    NSString*str4=@"huoo.txt";

    NSLog(@"%d",[str4 hasSuffix:@"txt"]);

    

    //判断字符串是否包含另一个字符串(返回值是01)

    NSLog(@"%d",[str4 containsString:@"hu"]);

    

    //将原有字符串,拼接一部分字符串,形成一个新的字符串

    NSString*str5=[str4 stringByAppendingString:@"hug"];

    NSLog(@"%@",str5);

    

    //将字符串写入文件,Path为文件路径,返回值为BOOL

    NSString*str6=@"ddoshcfosd";

    NSError*err=nil;

    BOOL isWriteSuccess=[str6 writeToFile:@"桌面/file.txt"atomically:YES encoding:NSUTF8StringEncoding error:&err];

    if (isWriteSuccess) {

        NSLog(@"写入成功!");

    }

    //从文件中读取

    str6=[NSString stringWithContentsOfFile:@"桌面/file.txt" encoding:NSUTF8StringEncoding error:&err];


    //字符穿的转换为整型

      int a=[@"133" intValue];

    NSLog(@"%d",a);


二.NSMutableString(创建,和常用方法)

//    1initWithCapacity:10 并不代表里面的object数量不能大于10.也可以大于10.

//    2init是在告诉程序,我不知道要放多少object,暂且帮我初始化

//    3,如果你知道大概要放多少东西,那么最好用initWithCapacity,这个会提高程序内存运用效率。

//    4,如果你初始化了NSMutableDictionary,并且很长时间不会用到,建议用initWithCapacity:0

    //设置字符串的初始容量,后续会因为使用而不断扩充或缩小,所以初始容量的值可以任意设

    NSMutableString*muStr1=[NSMutableString stringWithCapacity:0];

    //对象方法,实质一样

//    NSMutableString*muStr2=[[NSMutableString alloc]initWithCapacity:0];

     //初始化字符串内容,如果字符串有了内容,就替换其内容

    [muStr1 setString:@"hello"];

    NSLog(@"%@",muStr1);

    

    //在原字符串上拼接内容

    [muStr1 appendString:@"world"];

    NSLog(@"%@",muStr1);

    

    //格式化字符串的方式追加内容(注意灵活运用)

    [muStr1 appendFormat:@"hkhkbl.%@",@"jack"];

    NSLog(@"%@",muStr1);

    

    //创建一个范围,取值为字符串中淄川hkbrange

    NSRange range=[muStr1 rangeOfString:@"hkb"];

    //替换指定范围的内容

    [muStr1 replaceCharactersInRange:range withString:@"hkgkk"];

    NSLog(@"%@",muStr1);

    

    //删除指定内容

    [muStr1 deleteCharactersInRange:range];

    NSLog(@"%@",muStr1);

    

    //在指定索引插入内容

    [muStr1 insertString:@"大家好" atIndex:7];

    NSLog(@"%@",muStr1);


(づ ̄ 3 ̄)づ么么哒,求指点

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值