NSString/NSMutable字符串——韩俊强…

1、OC基本数据类型(简单铺垫)

 //   NSInteger 
在64 位下相当于long,在非64位下相当于 int;

//    CGFloat
在64位下相当于double  在非64位下相当于 float;

  

   //如何使用API文档学习系统类库中类

    

    //help --》Documentation and
API reference

    //快捷键 option + 左键
  cmmand + 左键
进入类的头文件(严重警告:进系统头文件之后,退出时一定要按几次  cmmand +
z),看系统头文件适合已经对这个类有很大了解的学生

   
=========================================================

   

    

    

 
 3、//  
NSString 
  是一个字符串类,而且是一个不可变的字符串类,继承自NSObject
,用NSString创建的字符对象,一经创建就不能修改;

   
//类簇:将一些私有的子类组合在一起形成一个公共的抽象的超类,那么这个超类就是类簇;

   //创建一个字符串对象

    char *s = "lanou";

    NSLog(@"%s",s);

    

  
//oc中创建字符串

    NSString *str =
@"lanou";//快速创建字符串的方法

    NSLog(@"%@",str);

    

  
//创建空字符串

    NSString *str1 = [[NSString
alloc]init];

    NSLog(@"%@ %p
",str1,str1);

    str1 =
@"年后";//这种改变只是指针的重指向

    NSLog(@"%@ %p
",str1,str1);

    

    NSString *str2 = [NSString
string];

    NSLog(@"==%@",str2);

    //创建不可变空字符串是没有任何意义的

    

   //格式化创建不可变字符串对象

    NSLog(@"lanou");

    NSLog(@"lanou%@",@"i love
you");

    //我 拼接上 爱凤姐

    NSLog(@"我%@",@"爱凤姐");

    

    NSString *str3 =
[[NSString  alloc]initWithFormat:@"%@
%@",@"lanou",@"i love you"];

    NSLog(@"%@",str3);

    

    NSString *str4 = [[NSString
alloc]initWithFormat:@"我%@",@"爱凤姐" ];

    

    NSLog(@"%@",str4);

    

   例子:字符串:@"优衣库试衣间" ,@"趣事多"

    NSString *str6
=@"优衣库试衣间";

    NSString *str7 = @"趣事多";

    NSString *str5 = [[NSString
alloc]initWithFormat:@"%@%@",str6,str7];

    

    NSLog(@"%@",str5);

    

    4、//遍历构造器格式化创建字符串方法

    NSString *str8 = [NSString
stringWithFormat:@"我在家里洗衣覅,%@",@"你在优衣库买衣服"];

    

    NSLog(@"%@",str8);

   
//创建字符串的另一种方式(现在已经不用了);

   
NSString *str9 = [[NSString
alloc]initWithString:@"我在蓝欧37班"];

   
NSString *str10 = [NSString stringWithString:@"靠
,我也在蓝欧37班"];

   
NSLog(@"%@",str10);

    例子:

 

   //
============================================

 
 5、 //将c语言字符串转换为oc字符串比如:"ios"
  @"ios"

    NSString *str11 = [[NSString
alloc]initWithUTF8String:"ios"];

    NSLog(@"%@",str11);

    

    NSString *str12 = [NSString
stringWithUTF8String:"ios"];

    NSLog(@"%@",str12);

   6、//头文件初始化对象方法

 
 //将文件中的字符串内容读入到字符串对象中

 
  //第一个参数:文件的路径 
第二个参数:编码格式  第三个参数: 如果出错了返回值存放的位置

    

    //初始化方法

    NSString *str13 = [[NSString
alloc]initWithContentsOfFile:
@"/Users/laouhn/Desktop/37-Product/Lesson/OC/LessonNSString-04/Lesson-04/han.txt"encoding:NSUTF8StringEncoding
error:nil];

    NSLog(@"%@",str13);

    

   //遍历构造器方法

    NSString *str14 = [NSString
stringWithContentsOfFile:@"/Users/laouhn/Desktop/37-Product/Lesson/OC/LessonNSString-04/Lesson-04/han.txt"
encoding:NSUTF8StringEncoding error:nil];

    NSLog(@"%@",str14);

    

   //
==========================================

   7、 //操作字符串的方法

   
//计算字符串长度的方法

    

    NSString *ss =
@"lanou3g";

    NSUInteger len = [ss
length];//无符号长整形

    NSLog(@"%lu",len);

    

   一个中文占三个字节

    NSString *ss2 = @"翔哥
今天晚上区如家吧?";

    NSLog(@"%lu",ss2.length);

    

 
 
8、//返回字符串片段的方法

   

    NSString *str15 =
@"abcdefgdef";

    NSRange rang = {3,3};

    NSString *subString = [str15
substringWithRange:rang];

    NSLog(@"%@",subString);

    

   
9、//返回字串在父串中范围

    rang = [str15
rangeOfString:@"def"];

    NSLog(@"loctation:%lu length
: %lu",rang.location,rang.length);//不是点语法

    

   //获取到从零位置到某个位置的字符不包含提供位置的字符

    NSString *str16 = [str15
substringToIndex:4];

    NSLog(@"%@",str16);

    

   //从某个位置开始获取字符串,直到父串的结尾,包含这个停工未知的字符

    NSString *str17 =
[str15  substringFromIndex:4];

    NSLog(@"%@",str17);

    

   
//返回格式化拼接的字符串

    NSString *str20 = [str16
stringByAppendingString:str17];

    NSLog(@"%@",str20);

    

    //练习3:把@“cang”后面
拼接上@“是你们的”

    NSString *cangString =
@"cang";

    NSString *newString
=  [cangString
stringByAppendingFormat:@"%@,%@",@"是你们的",@"不因不均"];

    NSLog(@"%@",newString);

    

    NSString *str18 = [cangString
stringByAppendingString:@"是世界的"];

    NSLog(@"%@",str18);

  
//字符串的替换

   
//将目标子串从父串中用我们给定的替换掉

    

    NSString *str19 = [str18
stringByReplacingOccurrencesOfString:@"cang"
withString:@"波多结衣"];

    NSLog(@"%@",str19);

    

    例子:

    NSString *str21 =
@"中国北京中南海";

    //判断字符串是否具有某个前缀或者后缀

    BOOL isHas = [str21
hasPrefix:@"中国北京"];

    NSLog(@"%@",isHas ?
@"有这个前缀":@"没有这个前缀");

    

    BOOL Has = [str21
hasSuffix:@"南海"];

    NSLog(@"%@",Has ?
@"有这个后缀":@"无这个后缀");

    

    例子:

  

    

    

  

  
//=============================================

   //比较两个字符串大小

    NSString *sstr3 = @"NBa";

    NSString *sstr4 = @"NBA";

    

   

    NSInteger n =
  [sstr3 compare:sstr4];

    switch (n) {

     
  case NSOrderedAscending:

     
      NSLog(@"%@
< %@",sstr3,sstr4);

     
      break;

     
      case
NSOrderedSame:

     
      NSLog(@"%@
= %@",sstr3,sstr4);

     
      break;

     
      case
NSOrderedDescending:

     
      NSLog(@"%@
> %@",sstr3,sstr4);

     
  default:

     
      break;

    }

    

   //不区分大小写的比较方式

    n = [sstr3
caseInsensitiveCompare:sstr4];

    NSLog(@"%ld",n);

    

 //===================================================

 10、 NSMutableString
  是可变字符串 ,继承自Nsstring,所以Nsstring
所有的方法NSMutableString都可以调用

   
//这种创建字符串的形式可以提高一定的效率,如果存入的字符串小于开辟的虚拟空间长度,则直接放入,免去了开辟空间的时间,如果此时开辟的空间小于要放入字符串的长度,此时就要再开辟空间

    NSMutableString *mStr =
[[NSMutableString alloc]initWithCapacity:30];

    //插入一个字符串

    [mStr insertString:@"索宁"
atIndex:0];

    NSLog(@"%@",mStr);

    //创建可变字符串的另一种形式

    NSMutableString *mStr1 =
[[NSMutableString alloc]initWithString:@"我和他有一个约会"];

    NSLog(@"%@",mStr1);

   
//快速创建字符串,必须在后面加上  .mutableCopy

    NSMutableString *mStr2 =
@"我与僵尸有一个约会".mutableCopy;

    NSLog(@"%@",mStr2);

    

 
 11、 //可变字符串拼接

   
//格式化拼接

    [mStr2
appendFormat:@"%@",@"在日本岛" ];

    NSLog(@"%@",mStr2);

    

   //删除某段字符串

    [mStr2
appendString:@"吃着炸鸡喝着啤酒"];

    NSLog(@"%@",mStr2);

   NSRange rang1 = {1,8};

    [mStr2
deleteCharactersInRange:rang1];

    NSLog(@"-----%@",mStr2);

   
//=========================================================

   //改可变字符串

   

    [mStr2
replaceCharactersInRange:NSMakeRange(2, 4)withString:@"任命广场"];

    NSLog(@"%@",mStr2);

    

   //每个单词的首字母大写

    NSMutableString *mStr3 = @"i
am student come from DanCheng".mutableCopy;

   NSString * upFirst
=  [mStr3 capitalizedString];

    NSLog(@"%@",upFirst);

    

   //将所有的字母都大写

  NSString *upAllWord =   [mStr3
uppercaseString];

    NSLog(@"%@",upAllWord);

   //将所有字母都小写

    NSMutableString *mStr4 = @"I
AM STUDENT COME FROM DANCHENG".mutableCopy;

   NSString *loweAllWord = [mStr4
lowercaseString];

    NSLog(@"%@",loweAllWord);

   
//================转载请注明出处=================

时间: 2024-12-29 11:11:15

NSString/NSMutable字符串——韩俊强…的相关文章

iOS中 扫描二维码/生成二维码详解 韩俊强的博客

最近大家总是问我有没有关于二维码的demo,为了满足大家的需求,特此研究了一番,希望能帮到大家! 每日更新关注:http://weibo.com/hanjunqiang  新浪微博 指示根视图: self.window.rootViewController = [[UINavigationController alloc]initWithRootViewController:[SecondViewController new]]; 每日更新关注:http://weibo.com/hanjunqi

iOS中 HTTP/Socket/TCP/IP通信协议详解 韩俊强的博客

版权声明:本文为博主原创文章,未经博主允许不得转载. 每日更新关注:http://weibo.com/hanjunqiang  新浪微博 简单介绍: [objc] view plain copy // OSI(开放式系统互联), 由ISO(国际化标准组织)制定   // 1. 应用层   // 2. 表示层   // 3. 会话层   // 4. 传输层   // 5. 网络层   // 6. 数据链接层   // 7. 物理层      // TCP/IP, 由美国国防部制定   // 1. 

iOS11: 使用Xcode9后的11条小建议 韩俊强的博客

作者:韩俊强 原创地址:http://blog.csdn.net/qq_31810357/article/details/78060505 未经允许禁止转载! Xcode9已在9月20号推出, 相信很多人充满期待, 那么新版Xcode给我们带来哪些新东西呢? 下载后发现很多人哀声载道, 很大一部分是不适应新的编译器, 那么我们我们该如何去调整呢? 耐心看完本文或许你能找到一些答案! 1.模拟器的变化 相信很多人不太习惯新版模拟器, 那么如何恢复呢, 看下图:是不是切换很随意. 2.Jump to

RxSwift使用教程大全 韩俊强的博客

接上一篇:初识RxSwift及使用教程 韩俊强的博客 本文档内容来自于 RxSwift 的 Playground.记录大多数 ReactiveX 的概念和操作符. (部分翻译和注解来自 ReactiveX文档中文翻译) Introduction 为什么使用 RxSwift? 我们写的很多代码实际上是为了解决和响应外部事件.当用户操作一个控件的时候,我们需要使用 @IBAction 来响应事件.我们需要观察通知来检测键盘改变位置.当 URL Sessions 带着响应的数据返回时,我们需要提供闭包

韩俊强新浪博客语录

不要期待,不要假想,顺其自然,如果注定,就一定会发生.人生没有那么多莺莺燕燕,什么是好的生活,什么是好的伴侣,无非就是,你饿了,做给你吃,你渴了,端给你喝,你冷了,给你盖被,你病了,给你拿药,哪怕你心烦了,也能骂他几句不是.脚踏实地的,比什么都强.[读懂这几句话胜读十年书]1,蜘蛛:能坐享其成,靠的就是那张关系网.2,虾:大红之日,便是大悲之时.3,天平:谁给多一点,就偏向谁.4,瀑布:因居高临下,才口若悬河.5,锯子:伶牙俐齿,专做离间行为.6,气球:只要轻轻一吹,便飘飘然了.7,钟表:可以回

NSString的几种常用方法—韩俊强博…

要把 "2011-11-29" 改写成 "2011/11/29"一开始想用iOS的时间格式,后来用NSString的方法搞定. 1.创建NSString字符串 NSString 与 char* 最大的区别就是 NSString是一个objective对象,而char* 是一个字节数组.@+" 字符串 " 这个符号为objective-c NSString 字符串常量的标准用法,char* 创建的时候 无需添加@ - (void)viewDidLo

iOS中 NSString的几种常用方法 韩俊强的博客

要把 "2011-11-29" 改写成 "2011/11/29"一开始想用ios的时间格式,后来用NSString的方法搞定. 1.创建NSString字符串 NSString 与 char* 最大的区别就是 NSString是一个objective对象,而char* 是一个字节数组.@+"字符串 " 这个符号为objective-c NSString 字符串常量的标准用法,char* 创建的时候 无需添加@ - (void)viewDidLoa

iOS中 Realm的学习与使用 韩俊强的博客

iOS开发者交流QQ群:446310206  有问题或技术交流可以咨询!欢迎加入! 这篇直接搬了一份官方文档过来看的 由于之前没用markdown搞的乱七八糟的 所以重新做了一份 后面看到官网的中文文档更新不及时看着英文翻译了一点 搞的更乱了 :( 英文好的直接点右边->官方OC文档 Realm是一个移动端的数据库,Realm是SQLite和CoreData的替代者.它可以节省你成千上万行代码和数周的工作,并且让你精巧的制作出令人惊叹的用户体验. 文档版本 0.93.2在github上获取 需求

iOS中 动态热修补技术JSPatch 韩俊强的博客

iOS开发者交流群:446310206   所谓动态热修补就是把能够导致app 崩溃的严重bug,提交新版本到appstore 审核速度太慢影响用户使用,这时候就可以利用 JSPatch 可以让你用 JavaScript 书写原生 iOS APP.只需在项目引入极小的引擎,就可以使用 JavaScript 调用任何 Objective-C 的原生接口,获得脚本语言的优势:为项目动态添加模块,或替换项目原生代码动态修复 bug. 这里就不在赘述优缺点重点看实现! 每日更新关注:http://wei