zoukankan      html  css  js  c++  java
  • Foundation 框架之——NSString、NSMutableString

     
     1     //字符串的创建
     2     NSString *s1 = @"Rose";
     3     
     4     // 作用相当于s1,基本不用
     5     // 警告:Using 'initWithString:' with a literal is redundant
     6     // 用“initWithString:“是多余的
     7     NSString *s2 = [[NSString alloc] initWithString:@"Rose"];
     8     
     9 
    10      NSString *s3 = [[NSString alloc]initWithFormat:@"age  is %d",20];
    11     
    12     // C字符串——>OC字符串
    13     // 注意"jack"前不要加@否则报错Implicit conversion of an Objective-C pointer to 'const char *' is disallowed with ARC
    14     // 隐式转换的objective - c指针到弧‘const char *’无效
    15     NSString *s4 = [[NSString alloc] initWithUTF8String:"jack"];
    16     // OC字符串——>c字符串
    17     const char *cs = [s4 UTF8String];
    18     
    19     // NSUTF8StringEncoding 用到中文就可以用这种编码
    20     NSString *s5 = [[NSString alloc]initWithContentsOfFile:@"/Users/scjy/Desktop/作业/作业/图像面积/图像面积/main.m" encoding:NSUTF8StringEncoding error:nil];
    21     
    22     // URL :资源路径
    23     // 协议头://路径
    24     // file://
    25     // ftp://
    26     
    27     NSURL *url = [[NSURL alloc] initWithString:@"file:///Users/scjy/Desktop/OC/作业/作业/图像面积/图像面积/main.m"];
    28     NSString *s6 = [[NSString alloc]initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
    29     
    30     NSLog(@"s6:%@",s6);
    31     
    32    /*
    33     一般都有一个类方法跟对象方法配对
    34     [ NSURL URLWithString:<#(NSString *)#>];
    35     [NSString stringWithFormat:<#(NSString *), ...#>];
    36     [NSString stringWithContentsOfFile:<#(NSString *)#> encoding:<#(NSStringEncoding)#> error:<#(NSError *__autoreleasing *)#>];
    37     
    38     */

     

    atomically原子性参数为YES时文件不存在且写入失败是不创建文件

        // 字符串的导出
        [@"jadfjallf" writeToFile:@"/Users/scjy/Desktop/OC/t.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];
        
        NSString *str = @"sdfkafads";
        NSURL *url = [NSURL fileURLWithPath:@"/Users/scjy/Desktop/OC/tr.txt"];
        [str writeToFile:url atomically:YES encoding:NSUTF8StringEncoding error:nil];

     

     

     

     1     NSMutableString *s1 = [NSMutableString stringWithFormat:@"my age is 10"];
     2     // 拼接内容到s1的后面
     3     [s1 appendString:@" 11 12"];
     4     
     5     // 获取is的范围
     6     NSRange range = [s1 rangeOfString:@"is"];
     7     [s1 deleteCharactersInRange:range];
     8     
     9     NSString *s2 = [NSString stringWithFormat:@"age is 10"];
    10     // 把s2复制一份后和11 12 拼接返回给s3,实际上s2没有变化
    11     NSString *s3 = [s2 stringByAppendingString:@" 11 12"];
    12     
    13     
    14     NSLog(@"s1=%@, s2=%@", s1, s2);
     1         //快速创建一个字符串常量
     2         NSString *str01 = @"This is a string";
     3         NSLog(@"字符串str1:%@",str01);
     4         
     5         //快速创建一个空字符串
     6         // 使用对象实例创建
     7         NSString *str02 = [[NSString alloc]init];
     8         // 使用类方法创建
     9         NSString *str03 = [NSString string];
    10         // str04和str02、str03是不一样的,str04是指针为空
    11         NSString *str04 = nil;
    12         NSLog(@"str02:%@ str03:%@ str04:%@",str02,str03,str04);
    13         
    14         // 根据已有的字符串创建新的(常量区)内容一样的话,地址也一样,即str5、str6的地址一样
    15         // 使用实例对象方法创建
    16         NSString *str05 = [[NSString alloc]initWithString:str01];
    17         // 使用类对象方法创建
    18         NSString *str06 = [NSString stringWithString:str01];
    19         NSLog(@"str05:%@ str06:%@",str05,str06);
    20         
    21         
    22         NSString *str1 = @"asddffg";
    23         // 创建新的字符串(堆区)
    24         NSString *str2 = [[NSString alloc]initWithFormat:@"字符串%d",2];
    25         NSString *str3 = [NSString stringWithFormat:@"字符串%d",2];
    26         
    27         BOOL isEquale = [str2 isEqualTo:str3];
    28         if (isEquale) {
    29             NSLog(@"str2 and str3 is same string");
    30         }
    31         
    32         NSString *str4 = @"this is a string";
    33         NSLog(@"str4 length is %d",(int)str4.length);
    34         
    35         NSLog(@"全部转换成大写%@",[str4 uppercaseString]);
    36         NSLog(@"全部转换成小写%@",[str4 lowercaseString]);
    37         NSLog(@"首字母大写%@",[str4 capitalizedString]);
    38         
    39         NSString *str5 = @"3.1415926";
    40         double pi = [str5 doubleValue];
    41         NSLog(@"pi is %lf",pi);
    42         
    43         NSString *str6 = @"[00:15]:我 [00:18]:想 [00:19]:大 [00:21]:声";
    44         NSCharacterSet *character = [NSCharacterSet characterSetWithCharactersInString:@"[]0123456789:"];
    45         NSArray *str8 = [str6 componentsSeparatedByCharactersInSet:character];
    46         NSArray *str7 = [str6 componentsSeparatedByString:@" "];
    47         NSLog(@"%@
    %@",str7,str8);
    48         
    49         // 从某处开始截取
    50         NSString *str9 = [str4 substringFromIndex:2];
    51         // 根据自定义区域截取一段字符串
    52         NSString *str10 = [str4 substringWithRange:NSMakeRange(2, 5)];
    53         // 从开始截取到某处
    54         NSString *str11 = [str4 substringToIndex:2];
    55         NSLog(@"str9:%@
    str10:%@
    str11:%@",str9,str10,str11);
    56         
    57         // 包含
    58         NSString *str12 = @"string";
    59         NSRange range = [str4 rangeOfString:str12];
    60         NSLog(@"%@",NSStringFromRange(range));
    61         NSLog(@"%d",[str4 containsString:str12]);
    62         // 判断开头
    63         NSLog(@"%d",[str4 hasPrefix:@"this"]);
    64         // 判断结尾
    65         NSLog(@"%d",[str4 hasSuffix:@"string"]);
    66         
    67 //        BOOL bool = 0;
    68         
    69         NSMutableString *mstr1 = [NSMutableString stringWithFormat:@"Hello China"];
    70         // 插入字符
    71         [mstr1 insertString:@" Welcome" atIndex:5];
    72         // 字符串的的替换
    73         [mstr1 replaceCharactersInRange:NSMakeRange(6, 7) withString:@"Good"];
    74         // 删除
    75         [mstr1 deleteCharactersInRange:NSMakeRange(6, 4)];
    76         
    77         NSLog(@"%@",mstr1);
    78         
    View Code
  • 相关阅读:
    Spring Security 自动装配
    Mysql学习
    java 学习路线(bilibili)
    Mac上配置idea的项目上传到GitHub
    vim安装自动补全插件
    spring aop 获取request、response对象
    centos7配置本地yum源 使用安装镜像安装软件
    eclipse启动速度优化
    spring-mvc springboot 使用MockMvc对controller进行测试
    java web 验证码-字符变形(推荐)
  • 原文地址:https://www.cnblogs.com/doublelongliu/p/4637104.html
Copyright © 2011-2022 走看看