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

来源:互联网 发布:手机传软件 编辑:程序博客网 时间:2024/05/16 17:17

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

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

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

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

    NSString *constantString=@"We are family";

    NSLog(@"%@",constantString);

    

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

    NSString*string1=[NSStringstring];

    NSLog(@"%@",string1);

    

    //C字符串创建OC对象

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

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

    NSLog(@"%@",string2);

    //同上

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

    NSLog(@"%@",string3);

   

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

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

    NSLog(@"%@",string4);

    

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

    const char*cString=[string4 UTF8String];

    NSLog(@"%s",cString);

 2.创建,使用对象方法

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

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

    NSString*objStr1=[[NSStringalloc]init];

    NSLog(@"%@",objStr1);

    

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

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

    NSLog(@"%@",objStr2);

    

    //同上

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

    NSLog(@"%@",objStr3);

    

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

    NSString*objStr4=[[NSStringalloc]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=[str1characterAtIndex:0];

    NSLog(@"%c",c);

    

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

   NSComparisonResult result=[str1compare:str];

   NSLog(@"%ld",result);

    

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

    if (![str isEqualToString:str1]) {

        NSLog(@"不相等");

    }else{

        NSLog(@"相等");

    }

    

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

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

    

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

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

    

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

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

    

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

    NSString*str4=@"huoo.txt";

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

    

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

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

    

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

    NSString*str5=[str4stringByAppendingString:@"hug"];

    NSLog(@"%@",str5);

    

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

    NSString*str6=@"ddoshcfosd";

    NSError*err=nil;

    BOOL isWriteSuccess=[str6writeToFile:@"桌面/file.txt"atomically:YESencoding:NSUTF8StringEncodingerror:&err];

    if (isWriteSuccess) {

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

    }

    //从文件中读取

    str6=[NSStringstringWithContentsOfFile:@"桌面/file.txt"encoding:NSUTF8StringEncodingerror:&err];


   //字符穿的转换为整型

      int a=[@"133"intValue];

    NSLog(@"%d",a);


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

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

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

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

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

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

    NSMutableString*muStr1=[NSMutableStringstringWithCapacity: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:rangewithString:@"hkgkk"];

    NSLog(@"%@",muStr1);

    

    //删除指定内容

    [muStr1 deleteCharactersInRange:range];

    NSLog(@"%@",muStr1);

    

    //在指定索引插入内容

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

    NSLog(@"%@",muStr1);


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

1 0
原创粉丝点击