美文网首页OC学习
OC中字符串NSString

OC中字符串NSString

作者: 李小六_ | 来源:发表于2015-05-09 15:58 被阅读337次
1. 苹果开发者文档

苹果每次iOS版本的升级, 都会更新大量的API, 并提供相应的参考文档!
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数, 目的是提供该应用程序与开发者人员基于某软件或者硬件得以访问一组编程的能力, 而无需访问远吗. 或理解内部的工作机制的细节.
Xcode -> Help->Documentation and API Reference 里面是苹果的开发者文档!

2. Foundation

Foundation 框架是Cocoa变成. iOS槟城的基础框架, 包括" 字符串, 集合, 日期, 时间等基础类!
字符串, 数组, 字典. 都属于Foundation框架.

3. 字符串

c语言中, 字符串是由char(ASCII码)组成;
OC中, 字符串是由unichar(Unicode)字符串组成;
NSString, 不可变字符串: 即创建以后, 内容不可以修改!
NSMutableString 可变字符串, 创建之后内容可变;
创建一个字符串, 可以使用实例方法和构造器!

  • NSString

    • 创建不可变字符串
      初始化创建
      NSString *name = [[NSString alloc] initWithString:@"zhangsan"];

    便利构造器创建
    NSString *name = [NSString stringWithString:@"1234567890"];

    常用字符串创建 直接创建
    

NSString *name = @"1234567890";

  • 获取字符串长度
    NSLog(@"length = %lu",[name length]);
    NSLog(@"length = %lu", name.length);
    打印结果
    ; [1371:303] length = 10

  • 获取子字符串, 关键字subs 为字符串 index 下标

    • NSString *str1 = [name substringFromIndex: 3]; NSLog(@"str1 = %@", str1);
      从下标为3 的开始获取
      打印结果 str1 = 4567890
    • NSString *str2 = [name3 substringToIndex: 3]; NSLog(@"str2 = %@", str2);
      到下标为3的( 不含下标为3的 );
      打印结果 str2 = 123;
    • NSRange range = NSMakeRange(2, 3); NSString *str3 = [name3 substringWithRange:range];
      NSLog(@"str3 = %@", str3);
      表示从第几个开始, 取后边几个数
      打印结果 str2 = 123;
  • 拼接字符串 关键字 Appending
    NSString *pro = @"河南省";
    NSString *city = @"北京";
    NSString *local = [pro stringByAppendingString: city];
    NSLog(@"local = %@", local);
    打印结果
    local = 河南北京

  • 替换字符串 关键字replace

    • NSString *word = @"hello";
      NSString *newWord =[word stringByReplacingOccurrencesOfString:@"e" withString:@"o"];
      NSLog(@"neWord = %@", newWord);
      打印结果
      neWord = hollo // 字符替换 把e换成o;

    • 替换一部分
      NSRange range1 = NSMakeRange(2, 1);
      // 从下标2开始取1个范围, 替换一部分
      NSString *word2 = [word stringByReplacingCharactersInRange:range1 withString:@"o"];
      NSLog(@"Word2 = %@", word2);
      打印结果
      word3 = heolo;

  • 字符串相等; EqualToString
    NSString *userName = @"leo";
    if ([userName isEqualToString:@"leo"]) {
    NSLog(@"登陆");
    } else {
    NSLog(@"用户不存在");
    }`

  • 字符串比较 compare
    NSString *str1 = @"abc";
    NSString *str77 = @"abd";
    NSLog(@"比较结果: %ld",[str77 compare:str77]);
    打印结果: 0 // 和C语言中字符串比较相同

  • 判断是否是以 某字符串开始或结尾
    -(BOOL)hasPrefix:nsstring 测试字符串是否以什么开始
    -(BOOL)hasSuffix:nsstring 测试字符串是否以 什么 结尾

  • 字符串大小写转换 关键字 case
    NSString *str1 = @"I am a Student";
    字符串全部改为小写字母
    NSString *str99 = [str9 lowercaseString];
    NSLog(@"str99: %@", str99);
    // 打印
    str1: i am a student

  • 数值与字符串相互转化
    // 字符串转换数数字
    NSString *str = @"123456";
    double p = [str doubleValue];
    NSLog(@"p = %lf", p);
    ** P = 123456;**

    // 数字转字符串
    int a = 12345;
    NSString *str = [NSString stringWithFormat:@"%d", a];
    NSLog(@" str = %@", str);
    打印结果: str = 12345;

  • 可变字符串 NSMutablString
    NSMutableString *mstr1 = [NSMutableString stringWithString:@"可变字符串"];
    NSMutableString *mstr2 = [NSMutableString stringWithFormat:@"可变字符串%@",mstr1];
    这个也是赋值, 后一个 %@ 算是占位符 也就是吧mstr1的值也读取到了
    打印后
    mstr2 = 可变字符串可变字符串,

    • 拼接字符串
      [mstr1 appendString:@"可变长"];
      NSLog(@"mstr = %@", mstr1);
      打印后
      mstr = 可变字符串可变长
  • 插入字符串
    [mstr1 insertString:@"任意" atIndex:6];
    NSLog(@"mstr1 = %@", mstr1);
    打印
    mstr1 = 可变字符串可任意变长//
    这只是NSString文档中的一部分, 还有好多方法可以调用;当要使用的时候, 可以看开发者文档, 来查找你所需要的方法,

相关文章

网友评论

本文标题:OC中字符串NSString

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