ios相关共享

NSString的一些使用方法

2017-12-14  本文已影响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(@"两个字符串对象的内容一样");

}

上一篇 下一篇

猜你喜欢

热点阅读