【Foundation】17-字符串NSString和NSMutableString


一、NSString 

1.1 NSString是不可变字符串,即字符串的内容在内存中是不可变的。针对此字符串的操作(如拼接,删除等),都是拷贝字符串到新的字符串中进行操作,并返回新字符串。

1.2 字符串的创建

  NSString *s1 = @"jack";

  //NSString *s2 = [[NSString alloc] initWithString:@"jack"]; //比较麻烦,不常用

  NSString *s3 = [[NSString alloc] initWithFormat:@"age is %d",10]; // 格式化字符串

1.3 C字符串与OC字符串之间的转换

   1> C字符串——>OC字符串

    NSString *s4 = [[NSString alloc] initWithUTF8String:"jack"];

   2> OC字符串——>C字符串

   const char *cs = [s4 UTFString];

1.4 字符串的中文编码:NSUTFStringEncoding 

   NSString *s5 = [[NSString alloc] initWithContentsOfFile:@"/Users/apple/Desktop/1.txt" encoding:NSUTF8StringEncoding error:nil];

1.5 URL:资源路径

   1> URL的格式:协议头://路径

     如文件资源路径:file://

            ftp资源路径:ftp://

         网络资源路径:http://weibo.cm/a.png 

                                  http://www.baidu.com

1.6 NSURL

      NSURL *url = [[NSURL alloc] initWithString:@"file:///Users/apple/Desktop/1.txt"];// 将字符串转换为URL,注意file:后面是三条斜线。前两条是协议头的格式,最后一条斜线表示根目录。

      NSSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/1.txt"]; // fileURLWithPath表示文件资源路径

1.7   一般都会有一个类方法跟对象方法配对
     [NSURL URLWithString:<#(NSString *)#>];
     [NSString stringWithFormat:@""];
     [NSString stringWithContentsOfFile:<#(NSString *)#> encoding:<#(NSStringEncoding)#> error:<#(NSError *__autoreleasing *)#>];
1.8 字符串的导出

  1> [@"Jack\nJack" writeToFile:@"/Users/apple/Desktop/my.txt"atomically:YES encoding:NSUTF8StringEncoding error:nil];//writeToFile表示将字符串写到文件中。atomically为YES表示文件操作为原子性,当写入出错时,不创建文件。如果为No,即写入出错时,文件也会被创建。一般设置为YES。

  2> NSString *str = "4546565";//创建字符串

       NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/my.txt"];//创建文件资源路径

       [str writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error:nil];// 将字符串写入到文件资源路径中

1.9 字符串的拼接

   NSString *s2 = [NSString stringWithFormat:@"age is 10"];// 创建字符串对象

   NSString *s3 = [s2 stringByAppendingString:@" 11 12"]; // 将参数中的内容拼接到字符串中,并返回新的字符串对象

1.10 删除字符串两边的空隔 

   1> NSCharacterSet *whiteSpace = [NSCharacterSet whitespaceAndNewlineCharacterSet];
    NSString *str2 = [[NSString alloc] initWithString:[@"   abdck dkd a    " stringByTrimmingCharactersInSet:whiteSpace]];

  

    2> NSString *nickNameStr =  [@" kdkdk kd " stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
    NSLog(@"%@",nickNameStr);

二、NSMutableString

2.1 NSMutableString是可变字符串,即对它的操作都是在字符串进行,没有返回值。它是NSString的子类,所以NSString拥有的方法NSMutableString同样拥有。

2.2 NSMutableString的创建

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

2.3 拼接内容到s1后面

   [s1 appendString:@"11 12"]; //将内容拼接到字符串后面,没有返回值

2.4 获取内容字符串的位置并删除

    NSRange range = [s1 rangeOfString:@"is"]; // 获取is的范围

    [s1 deleteCharatersInRange:range];// 删除字符串范围内的内容

2.5 截取字符串

   // 声明并初始化一个身份证号

   NSString *carNo = @"420156198904043231";

   // 获取身份证号前4

   NSRange range = NSMakeRange(04);

   NSString *address = [carNo substringWithRange:range];



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值