黑马程序员技术交流社区
标题:
Foundation--NSString && NSMutableString
[打印本页]
作者:
Jack-xie
时间:
2014-10-10 17:45
标题:
Foundation--NSString && NSMutableString
字符串的创建 NSString : 不可变字符串
//1. 直接创建字符串
NSString *s1 = @"Jack";
NSString *s2 = [[NSString alloc] initWithString:@"Jack"];
NSString *s3 = [[NSString alloc] initWithFormat:@"Age is %d",10];
//2. C语言字符串和OC字符串的相互转换
NSString *s4 = [[NSString alloc] initWithUTF8String:"Jack"];// C字符串---> OC字符串
const char *cs = [s4 UTF8String]; // OC字符串---> C字符串
//3. 把文字内容读取为字符串
// NSUTF8StringEncoding 用到中文就可以用这种编码
NSString *s5 = [[NSString alloc] initWithContentsOfFile:@"/Users/jackxie/Desktop/a.rtf" encoding:NSUTF8StringEncoding error:nil];
//4. 把链接内容读取为字符串
/*
URL : 资源路径
协议头:// 路径
file://
ftp://
http://www.baidu.com
*/
NSURL *url = [[NSURL alloc] initWithString:@"http://www.baidu.com"];// 各种类型的url资源 这是网页的代码
NSURL *url1 = [NSURL fileURLWithPath:@"/Users/jackxie/Desktop/a.rtf"];// 只能是本地资源
NSString *s6 = [[NSString alloc] initWithContentsOfURL:url1 encoding:NSUTF8StringEncoding error:nil];
/*
5. 一般都会有一个类方法跟对象方法配对
NSURL *url1 = [NSURL URLWithString:@"/Users/jackxie/Desktop/a.rtf"];
//NSString *s7 = [NSString stringWithContentsOfURL:url1 encoding:NSUTF8StringEncoding error:nil];
NSString *s8 = [NSString stringWithFormat:@"Age is %d",5];
NSString *s9 = [NSString stringWithString:@"Jack"];
NSString *s10 = [NSString stringWithUTF8String:"Jack"];
*/
// 字符串的导出
//1. 直接创建
[@"Jack\nJack" writeToFile:@"/Users/jackxie/Desktop/my.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];
//2. 使用对象创建
NSString *str = @"jack\njack\njack";
NSURL *url2 = [NSURL fileURLWithPath:@"/Users/jackxie/Desktop/my1.txt"];
[str writeToFile:url2 atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSMutableString : 可变字符串 继承NSString
//1. 使用NSMutableString 创建一个可变的字符串对象
NSMutableString *ms1 = [NSMutableString stringWithFormat:@"my age is %d",10];
//2.添加内容: 拼接内容到ms1 的后面
[ms1 appendString:@" 11 12"];
[ms1 appendFormat:@" %d",5];
//3.替换内容:(找出字符,然后进行替换)
NSRange range = [ms1 rangeOfString:@"age"];
[ms1 replaceCharactersInRange:range withString:@"yes"];
//4.插入内容:(插入声明内容 在字符串的哪个下标)
[ms1 insertString:@"hello " atIndex:0];
//5.删除内容:
//第一种删除指定字符串方式 不可改变原来的字符串
[ms1 deleteCharactersInRange:NSMakeRange(3, 3)];
//第二种删除指定字符串方式 可以改变原来的字符串
NSRange range1 = [ms1 rangeOfString:@"age"];// 先获取age的范围
[ms1 deleteCharactersInRange:range1];// 从获得的范围值中删除
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2