【Foundation学习笔记】常用类--NSString和NSMutableString

一、 NSString(不可变字符串)

1、字符串的创建

每一个对象方法都有对应的类方法,使用类方法不需要管理内存。
    // 这种方式创建出来的字符串是字符串常量,不需要管理内存
(1)NSString *str1 = @"jack";

(2)NSString *str2 = [[NSString alloc] init];
    str2 = @"jack";

(3)NSString *str3 = [[NSString alloc] initWithString:@"jack"];
    NSString *str3 = [NSString stringWithString:@"jack"];

(4)NSString *str4 = [[NSString alloc] initWithFormat:@"age is %d", 10];
    NSString *str4 = [NSString stringWithFormat:@"age is %d", 10];

(5)// C字符串转 OC字符串
    NSString *str5 = [[NSString alloc] initWithUTF8String:"jack"];
    NSString *str5 = [NSString stringWithUTF8String:"jack"];
    // OC字符串转 C字符串
    const char *c = [str5 UTF8String];

(6)// 从文件中读取字符串
    // 只要用到中文编码,就写NSUTF8StringEncoding
    NSString *str6 = [[NSString alloc] initWithContentsOfFile:@"/Users/apple/Desktop/1.txt" encoding:NSUTF8StringEncoding error:nil];
    NSString *str6 = [NSString stringWithContentsOfFile:@"/Users/apple/Desktop/1.txt" encoding:NSUTF8StringEncoding error:nil];

(7)// 从路径中读取字符串
    // URL:资源路径
    // 协议头://路径
    // file://
    // ftp://

    NSURL *url = [[NSURL alloc] initWithString:@"file:///Users/apple/Desktop/1.txt"];
    NSURL *url = [NSURL URLWithString:@"file:///Users/apple/Desktop/1.txt"];

    NSString *str7 = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]; 
    NSString *str7 = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];

2、把字符串输出到文件

NSString *str = @"jack\njack";

[str writeToFile:@"/Users/apple/Desktop/My" atomically:YES encoding:NSUTF8StringEncoding error:nil];

二、NSMutableString(可变字符串)

1、@interface NSMutableString : NSString

继承自NSString,所以之前NSString中的创建方法,它都可以使用

2、NSMutableString基本使用

(1)字符串增加

NSMutableString *s1 = [NSMutableString stringWithFormat:@"my age is 10"];

// 拼接内容在s1后面
[s1 appendString:@",good!"];

(2)字符串删除

// 删除 is
[s1 deleteCharactersInRange:NSMakeRange(7, 2)];
// 上面方法的缺点是,如果is变换了位置就无法删除了

// 先确定is的范围,然后再删除
    NSRange range = [s1 rangeOfString:@"is"];
    [s1 deleteCharactersInRange:range];

3、补充:NSString在原来字符串基础上新建字符串

NSString *s2 = [NSString stringWithFormat:@"my age is 11"];

// 在不可变字符串的基础上添加新的字符串创建新的字符串
NSString *s3 = [s2 stringByAppendingString:@",my name is jack."];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值