黑马程序员——NSSstring与NSMutableString的使用

来源:互联网 发布:ubuntu挂起唤醒快捷键 编辑:程序博客网 时间:2024/06/03 17:02
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

NSSstring的使用

1.字符串对象常量的定义和输出
    定义了一个字符串指针,指向字符串常量
    char *str="hello world";
    @"hello world"oc中的字符串常量
    本质:字符串对象
     NSString *str=@"hello world";
     输出一个对象
     oc中任意对象都使用%@输出
     NSLog(@"str=%@",str);

 2.创建字符串对象   alloc+init形式创建

        从c的字符串去创建一个字符串对象
        NSString *str2=[[NSString alloc] initWithUTF8String:"tian qi bu cuo"];   
        NSLog(@"str2=%@",str2);
        
       从其他数据生成字符串对象
       生成一个字符串“张三 20 B”
        int age=20;
        int sex='B';
        NSString *str3=[[NSString alloc]initWithFormat:@"zhangsan %d %c",age,sex];
        NSLog(@"str3=%@",str3);

      从另外一个字符串对象创建对象
       NSString *str4=[[NSString alloc]initWithString:str3];
       NSLog(@"str4=%@",str4);

    附加:写答题系统题的时候,输入一个字符串,使用NSString处理,先定义一个字符数组
        char buf[256]={};        scanf("%s",buf);        NSString *input=[[NSString alloc]initWithUTF8String:buf];        NSLog(@"input = %@",input);        附加2:类方法创建字符串对象        NSString *str5=[[NSString alloc] initWithUTF8String:"hello"];        NSLog(@"str5=%@",str5);        NSString *str6=[[NSString alloc]initWithFormat:@"%d",100];        NSLog(@"str6=%@",str6);        NSString *str7=[[NSString alloc]initWithString:str6];        NSLog(@"str7=%@",str7);

3.计算长度
   
        NSString *str8=@"88888";
        long len=[str8 length];
        NSLog(@"len=%ld",len);

4.比较字符串(判断相等和比较)
        NSString *str9=@"88888";        //判断str8是否和str9相等        BOOL b;        b=[str9 isEqualToString:str8];        //判断一个BOOL值是否为真的时候        if(b)              //正确的形式        {            NSLog(@"字符串相等");        }        // BOOL l类型        // 窗口是否移动,是否显示。。。        //   方法,执行成功,执行失败;        //   bool存放两种值(真yes假no)                NSString *str10=@"helloB";        NSString *str11=@"helloA";        //前面的字符串比较后面的字符串        //r=-1 前面小  r=1前面大  r=0相等        int r=[str10 compare:str11];        NSLog(@"r=%d",r);
5.查找子串
        //        5.查找子串        NSString *str12=@"hello world";        //NSString *str13=@"wor";        //@"hello world"中查找@“wor”字符串的位置        NSRange range=[str12 rangeOfString:@"wor"];        NSLog(@"location=%lu,length=%lu",range.location,range.length);        if (range.location!=NSNotFound) {            NSLog(@"找到了");        }
6.提取字符和字符串
    
   //        6.提取字符和字符串        NSString *str13=@"心比tian高,命比zhi薄";        //提取其中的某个字符第一个字符,和第三个字符        //为了支持返回汉字,返回值类型nuichar类型        //unichar 类型的字符用%C输出        unichar c = [str13 characterAtIndex:0];        NSLog(@"c = %C",c);        //如何提取某个范围内的字符串,提取tian        NSRange subRange={2,4};        NSString *sub1=[str13 substringWithRange:subRange];        NSLog(@"sub1=%@",sub1);        //提取从index下标开始,一直到结尾的字符串        NSString *sub2=[str13 substringFromIndex:2];        NSLog(@"sub2=%@",sub2);        //从头开始提取,提取到指定的下标位置        NSString *sub3=[str13 substringToIndex:5];        NSLog(@"sub3=%@",sub3);
7.转换
 
       //        7.转换        NSString *str14=@"12345我爱吃土豆";        int num=[str14 intValue];        NSLog(@"str14=%d",num);        //类似的方法是floatValue  doubleVlaue  boolValue        //需求;从字符串对象获取c格式的字符串        NSString *mayiliSay=@"na shen me zheng jiu ni,my lover";        const char *utfstr=[mayiliSay UTF8String];        NSLog(@"utfstr=%s",utfstr);
8.从文件生成字符串
       //        8.从文件生成字符串        // 文件路径: /Users/apple/Desktop/dict.txt        NSString *filePath=@"/Users/apple/Desktop/dict.txt";        //nil oc中的空指针        //效果:filePath文件的内容存到fileContent        NSString *fileContent=[[NSString alloc]initWithContentsOfFile:filePath       encoding:NSUTF8StringEncoding error:nil];        NSLog(@"fileContent = %@",fileContent);
9.字符串的分割和合并(使用另外一个字符串分割)
        NSString *str=@"xian kan ting qian hua kai hua luo";        NSArray *array=[str componentsSeparatedByString:@" "];        NSLog(@"array=%@",array);        // <1>字符串的分割(使用字符集合分割)        //分割出名字,年龄,性别,体重        //分隔符:“;,”        NSString *str2=@"zhangsan:188,B,120";        array = [str2 componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@":,"]];        NSLog(@"array=%@",array);                //<2>数组合并为一个字符串        NSString *comString=[array componentsJoinedByString:@"-"];        NSLog(@"comString = %@",comString);

NSMutableString可变字符串类

NSMutableString继承NSString的
继承:如果一个类继承了另外一个类,它会拥有这个类的所以方法
           NSMutableString类拥有NSString这个类的所以方法   
创建对象
1.创建的就是空字符串
  NSMutableString *mstr = [NSMutableString alloc]init;
  NSMutableString *mstr = [[NSMutableString alloc]initWithUTF8String:"text"];
   NSLog(@"mstr=%@",mstr);
        
    }
    return 0;
}
2.复制(设置字符串)
复制(设置字符串)---努力拼搏
 相当于strcpy
        [mstr setString:@"努力拼搏"];
        NSLog(@"mstr=%@",mstr);
3.链接
 (附加)上一个字符串的后面加上:不是吗?
        [mstr appendString:@",不是吗"];
        NSLog(@"mstr=%@",mstr);
4.插入
        [mstr insertString:@"难道" atIndex:5];
        NSLog(@"mstr=%@",mstr);

5.删除
        定义删除范围
        NSRange range={7,1};
        [mstr deleteCharactersInRange:range];
        NSLog(@"mstr=%@",mstr);
        
6.替换
        NSMutableString *mstr2=[[NSMutableString alloc]initWithUTF8String:"睡觉容易,睡醒困难,且睡且珍惜"];
        [mstr replaceCharactersInRange: withString:]
        NSRange replaceRange={0,[mstr2 length]};
        [mstr2 replaceOccurrencesOfString:@"睡" withString:@"等" options:NSLiteralSearch range:replaceRange];
        NSLog(@"mstr2=%@",mstr2);

0 0
原创粉丝点击