美文网首页ios相关共享
NSString的一些使用方法

NSString的一些使用方法

作者: 帝步凡 | 来源:发表于2017-12-14 17:23 被阅读6次

    //创建字符串

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

    //将字符串创建在代码区,如果内容一样,将是同一个对象

    //str1和str2指向同一个对象

    NSString *str1 = @"hello world!";

    NSString *str2 = @"hello world!";

    NSLog(@"%p,%p",str1,str2);

    //        字符串的格式化

    //        工厂方法和初始化方法创建的字符串都是在堆里的,就算字符串的内容一样,那也是两个对象

    NSString *str4 = @"tarena";

    NSString *str3 = [NSString stringWithFormat:@"hello %@",str4];

    NSLog(@"%@",str3);

    NSString *str5 = [[NSString alloc]initWithFormat:@"hello %@",str4];

    NSLog(@"%@",str5);

    NSLog(@"%p,%p",str3,str5);

    if (str3==str5) {

    NSLog(@"两个字符串指向同一个对象");

    }

    if ([str3 isEqualToString:str5]) {

    NSLog(@"两个字符串对象的内容一样");

    }

    //字符串的截取

    NSString *str6 = @"www.tedu.cn";

    //从头开始截取字符串,截取到index之前,不包括index

    NSString *str7 = [str6 substringToIndex:3];

    NSLog(@"str7%@",str7);

    //从index开始截取字符串,一直截取到字符串尾部,包括index

    NSString *str8 = [str6 substringFromIndex:9];

    NSLog(@"%@",str8);

    //截取某一部分

    //NSRange是表示位置和长度的一个结构体

    //NSRange range = {4,4};

    //使用函数创建range

    NSRange range = NSMakeRange(4, 4);

    NSString *str9 = [str6 substringWithRange:range];

    NSLog(@"str9%@",str9);

    //字符串的拼接

    NSString *str10 = @"hello";

    //在某个字符串的后面追加

    NSString *str11 = [str10 stringByAppendingString:@" world"];

    NSLog(@"%@",str11);

    //按照某种格式追加

    NSString *str13 = @"tarena";

    NSString *str12 = [str10 stringByAppendingFormat:@" %@",str13];

    NSLog(@"%@",str12);

    //替换

    NSString *str14 = @"www.tedu.cn";

    //用某个字符串替换某部分的字符串

    NSString *str15 = [str14 stringByReplacingOccurrencesOfString:@"tedu" withString:@"tarena"];

    NSLog(@"%@",str15);

    //用某个字符串替换某个范围

    NSString *str16 = [str14 stringByReplacingCharactersInRange:NSMakeRange(9, 2) withString:@"com"];

    NSLog(@"%@",str16);

    //判断开头

    if([str14 hasPrefix:@"www"]){

    NSLog(@"str14以www开头");

    }

    //判断结尾

    if ([str14 hasSuffix:@"cn"]) {

    NSLog(@"str14以cn结尾");

    }

    //写入字符串到本地

    NSString *str17 = @"hello world";

    /*

    参数1:写入文件的本地路径

    参数2:原子性YES,会将文件先写入一个临时文件,然后在拷贝到指定的本地路径,防止在写入文件的时候出错,安全性更高

    参数3:编码格式,NSUTF8StringEncoding

    参数4:报错error

    */

    NSError *error;

    [str17 writeToFile:@"/Users/tarena/Desktop/string" atomically:YES encoding:NSUTF8StringEncoding error:&error];

    if (!error) {

    NSLog(@"写入成功");

    }else if (error){

    NSLog(@"写入失败,%@",[error localizedDescription]);//返回主要的错误信息

    }

    //从本地文件读取字符串

    NSString *str18 = [NSString stringWithContentsOfFile:@"/Users/tarena/Desktop/string" encoding:NSUTF8StringEncoding error:nil];

    NSLog(@"%@",str18);

    NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];

    NSString *str19 = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];

    NSLog(@"%@",str19);

    //字符串的比较

    //如果字符串内容相同,只创建一个对象

    NSString *str = @"tarena";

    NSString *str20 = [NSString stringWithFormat:@"%@",str];

    NSString *str21 = [[NSString alloc]initWithFormat:@"%@",str];

    //== 是比较两个字符串指针是否指向同一个对象

    NSLog(@"%p,%p",str20,str21);

    if (str20 == str21) {

    NSLog(@"两个字符串指向同一个对象");

    }

    //比较两个字符串的内容是否相同isEqualToString

    if ([str20 isEqualToString:str21]) {

    NSLog(@"两个字符串的内容相同");

    }

    NSLog(@"==================================");

    //        NSString *str4 = @"tarena1";

    //        NSString *str3 = [NSString stringWithFormat:@"hello %@",str4];

    //        NSLog(@"%@",str3);

    //

    //        NSString *str5 = [[NSString alloc]initWithFormat:@"hello %@",str4];

    //        NSLog(@"%@",str5);

    //        NSLog(@"%p,%p",str3,str5);

    if (str3==str5) {

    NSLog(@"两个字符串指向同一个对象");

    }

    if ([str3 isEqualToString:str5]) {

    NSLog(@"两个字符串对象的内容一样");

    }

    相关文章

      网友评论

        本文标题:NSString的一些使用方法

        本文链接:https://www.haomeiwen.com/subject/clokwxtx.html