OC中字符串NSString

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文档中的一部分, 还有好多方法可以调用;当要使用的时候, 可以看开发者文档, 来查找你所需要的方法,

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容