// NSString
        //代开API文档
        //Xcode -> help - Documentation and API Reference
    
        //快速打开API
        //alt(option) + 鼠标左键
    
        //快速进入头文件
        //command + 鼠标左键
    
//        NSString是oc中的不可变字符串类,被创建后,不能修改
    
        //常用方法
        //1.创建字符串
    NSString *str1 = @"iPhone";
    NSLog(@"%@", str1);
    NSString *str2 = [[NSString alloc] init];
    NSLog(@"%@", str2);
    NSString *str3 = [[NSString alloc] initWithString:@"iPhone"];
    NSLog(@"%@", str3);
//    NSString *str4 = [[NSString alloc] initWithString:nil];
//    NSLog(@"%@", str4);  error
    NSString *str5 = [[NSString alloc] initWithFormat:@"%@5s", str1];
    NSLog(@"%@", str5);
    
//    NSString *str6 = [NSString stringWithString:@"iPhone"];
//    NSLog(@"%@", str6);
    NSString *str7 = [NSString stringWithFormat:@"123"];
    NSLog(@"%@", str7);
        //2.获取字符串长度
    NSUInteger length = [str7 length];
    NSLog(@"%lu", length);
    
        //3.判断字符串是否以指定字符串开始或结束
    NSString *str8 = @"123ABC";
    
   BOOL result = [str8 hasPrefix:@"223"];
    NSLog(@"%d", result);
    BOOL result1 = [str8 hasSuffix:@"C"];
    NSLog(@"%d", result1);
    
        //4.搜索字符串的范围
    
    NSRange range = [str8 rangeOfString:@"3A"];
    
    NSLog(@"%lu, %lu", range.length, range.location);
    
        //5.字符串截取
    NSRange rs = {3, 3};
    NSString *str9 = [str8 substringWithRange:rs];
    NSLog(@"%@", str9);
        //6.拼接字符串
   NSString *str10 = [str8 stringByAppendingString:@"123"];
    NSLog(@"%@", str8);
    NSLog(@"%@", str10);

//7.替换字符串
   NSString *str11 = [str8 stringByReplacingOccurrencesOfString:@"3A" withString:@"A"];
    NSLog(@"%@", str11);
    
        //8.字符串比较"123" "123" "321"
    
    NSInteger flag = [@"123" compare:@"123"];
    NSLog(@"%ld", flag);
    
        //9.字符串和数值类型的转换
    NSString *str12 = @"123";
    int a = [str12 intValue];
    NSLog(@"%d", a);
    double b = [str12 doubleValue];
    NSLog(@"%f", b);
    float c = [str12 floatValue];
    NSLog(@"%f", c);
    BOOL e = [str12 boolValue];
    NSLog(@"%d", e);

//10.大小写转换操作
    NSString *aaa = @"aBcE";
    NSLog(@"%@", [aaa capitalizedString]);
    NSLog(@"%@", [aaa uppercaseString]);
    NSLog(@"%@", [aaa lowercaseString]);
    NSLog(@"%@", aaa);
    
    
        //NSMutableString
        //capctiy 是一个预估的值,可以改变
        //由于内存比较紧张,一般把capctiy设置成0,让字符串自己去判断大小,扩充容器大小
        //创建一个新的字符串
    NSMutableString *mString = [[NSMutableString alloc] initWithCapacity:0];
        //拼接字符串
    [mString appendString:@"taiyang"];
    NSLog(@"%@", mString);
    
         //插入字符
    [mString insertString:@"aaa" atIndex:1];
    NSLog(@"%@", mString);
    
        //删除字符串
//    NSRange r = {2, 3};
//    [mString deleteCharactersInRange:r];
//             ||  等价
    [mString deleteCharactersInRange

练习 :

//    1.截取字符串“20|http://www.baidu.com”中 “|” 前面和后面的字符串,并输出。

//    NSString *str1 = @"20|http://www.baidu.com";
//         1
//    NSString *str2 = [str1 substringWithRange:NSMakeRange(0, 2)];
//    NSString *str3 = [str1 substringWithRange:NSMakeRange(3, 20)];
//    NSLog(@"str2 = %@ str3 = %@", str2, str3);

//2
//    NSString *str2 = [str1 substringFromIndex:3];
//    NSLog(@"str2 = '%@'", str2);
//    NSString *str3 = [str1 substringToIndex:2];
//    NSLog(@"str3 = '%@'", str3);

//    2.将“文艺青年”改成“213青年”。
    
//    NSString *str1 = @"文艺青年";
//    NSString *str2 = [str1 stringByReplacingOccurrencesOfString:@"文艺" withString:@"213"];
//    NSLog(@"%@", str2);

//    3.给定一个图片文件名,判断字符串中是否有后缀,如果有(如:以“.png”结尾),就替换成“jpg”;如果没有,就拼接”.jpg”

//    NSString *str1 = @"taiyang";
//    NSUInteger length = [str1 length];
//    NSString *str2 = [str1 substringFromIndex:length - 4];
//    if ([@".jpg" compare:str2] == 0) {
//        NSLog(@"该字符串是以.jpg开头");
//    }else if ([@".png" compare:str2] == 0){
//        NSString *str3 = [str1 stringByReplacingOccurrencesOfString:@".png" withString:@".jpg"];
//        NSLog(@"str3 = '%@'", str3);
//    }else{
//        NSString *str4 = [str1 stringByAppendingString:@".jpg"];
//        NSLog(@"str4 = '%@'", str4);
//    }

 

最新文章

  1. 高仿ios版美团框架项目源码
  2. Google Chrome调试js入门
  3. 使用JFinal的第一个项目出现的问题(The return type is incompatible with JspSourceDependent.getDependants())
  4. 解决Strokeit在win8下的图标问题和开机启动问题
  5. BZOJ1024 [SCOI2009]生日快乐
  6. UVa1593_Allgnment_Of_Code
  7. Autosizer应用程序窗口控制工具
  8. Ubuntu如何安装secureCRT
  9. vb和php 基于socket通信
  10. Careercup - Microsoft面试题 - 6366101810184192
  11. Linux下查看CPU型号,内存大小,硬盘空间命令
  12. SPOJ220 Relevant Phrases of Annihilation
  13. js常用几种类方法实现
  14. 大数据测试之hadoop系统生态
  15. BZOJ 2882: 工艺 [后缀自动机+map]
  16. MySql配置优化总结
  17. dnmp(docker的lnmp)安装WordPress之后图片上传问题 问题:图片上传大小问题解决和 报错413 Request Entity Too Large
  18. PMP:11.项目采购管理
  19. 增加/删除临时IP地址
  20. python发送邮件 大全汇总

热门文章

  1. 类定义,创建/销毁OC对象
  2. Haskell语言学习笔记(37)RWS, RWST
  3. 【340】GIS related knowledge
  4. 迷你MVVM框架 avalonjs 学习教程13、模板引用
  5. 抽象类(abstract class)
  6. nodejs 与 json
  7. 安装64位的oracle数据库, 使用自带的sqldeveloper
  8. 第六章 图(d)深度优先搜索
  9. valgrind: failed to start tool 'memcheck' for platform 'amd64-linux': No such file or directory
  10. Hook钩子编程