一.NSString常见创建

1.声明一个常量字符串

1 NSString *str = @"abc";

2.通过构造方法创建字符串

1 NSString *str1 = [[NSString alloc]initWithString:@"abc"];
2 NSString *str2 = [[NSString alloc]initWithUTF8String:"abc"];
3 NSString *str3 = [[NSStringalloc]initWithFormat:@"%@%c",@"ab",'c'];

3.通过类方法创建字符串

1 NSString *str1 = [NSString stringWithString:@"abc"];
2 NSString *str2 = [NSString stringWithUTF8String:"abc"];
3 NSString *str3 = [NSString stringWithFormat:@"%@%c",@"ab",'c'];

二.字符串比较

1.判断两个字符串是否相等(isEqualToString)

1 NSString *str1 = @"1234567890";
2 NSString *str2 = @"1234567890";
3 BOOL ret = [str1 isEqualToString:str2];
4 NSLog(@"ret is %d",ret);

输出结果:

2016-06-27 10:56:56.284 OcTest[561:282681] ret is 1
Program ended with exit code: 0

2.两个字符串比较函数(compare)

        NSString *str1 = @"1234567890";NSString *str2 = @"12345";NSComparisonResult result = [str1 compare:str2];if (result == NSOrderedAscending){NSLog(@"str1 < str2");}else if (result == NSOrderedDescending){NSLog(@"str1 > str2");}else if (result == NSOrderedSame){NSLog(@"str1 = str2");}

  输出结果:

2016-06-27 11:03:48.707 OcTest[597:310397] str1 > str2
Program ended with exit code: 0

三.字符串截取

首先创建一个字符串,下面以str1为例:

1  NSString *str1 = @"1234567890";

1.截取到第六位(substringToIndex)

NSString *str = [str1 substringToIndex:6];
NSLog(@"str is %@",str);

  输出结果:

2016-06-27 11:12:11.284 OcTest[637:341212] str is 123456
Program ended with exit code: 0

2.从第六位开始截取(substringFromIndex)

NSString *str = [str1 substringFromIndex:6];
NSLog(@"str is %@",str);

  输出结果:

2016-06-27 11:15:12.630 OcTest[664:356189] str is 7890
Program ended with exit code: 0

3.字符串范围截取(substringWithRange)

NSString *str = [str1 substringWithRange:NSMakeRange(0, 5)];
NSLog(@"str is %@",str);

  输出结果:

2016-06-27 11:17:38.833 OcTest[674:366407] str is 12345
Program ended with exit code: 0

四.一个字符串在另一个字符串中的位置(rangeOfString)

首先新创建一个字符串str2

NSString *str2 = @"1234";

NSRange range = [str1 rangeOfString:str2];
NSLog(@"range loc is %zd,range length is %zd",range.location,range.length);

  输出结果:

2016-06-27 11:24:01.916 OcTest[684:394116] range loc is 0,range length is 4
Program ended with exit code: 0

五.字符串查询

        NSString *str = @"f232423dsgerh23wd3349k00cv3";NSScanner *scanner = [NSScanner scannerWithString:str];while(![scanner isAtEnd] && ++scanner.scanLocation){int result;if([scanner scanInt:&result]){NSLog(@"%d",result);}}

  输出结果:

2016-07-01 15:10:15.231 OCString[851:320391] 232423
2016-07-01 15:10:15.232 OCString[851:320391] 23
2016-07-01 15:10:15.232 OCString[851:320391] 3349
2016-07-01 15:10:15.232 OCString[851:320391] 0
2016-07-01 15:10:15.232 OCString[851:320391] 3
Program ended with exit code: 0

  

  

转载于:https://www.cnblogs.com/kaihuacheng/p/5615394.html

OC系列foundation Kit基础-NSString相关推荐

  1. OC系列foundation Kit基础-NSDate

    一.获取当前时间 1.1创建一个日期对象 NSDate *date = [NSDate date];NSLog(@"%@",date); 输出结果: 2016-07-01 17:3 ...

  2. iOS动画系列之五:基础动画之缩放篇旋转篇Swift+OC

    这一篇主要介绍基础动画之缩放和旋转.这些基本操作分享完之后,我想想可以找个稍微复杂一点点的动画做做啦. 这篇继续基础篇,分享一下缩放和旋转.因为整体思路和平移基本上没有变化,加上源代码里面也有OC版本 ...

  3. ObjC: Foundation Kit

    Foundation Kit是什么? 你可以把它看作Java JDK中的java.lang包.不论是JavaME.JavaEE还是Android,各种变种Java环境,都拥有的基础类库,或者拥有它的一 ...

  4. 黑马程序员--OC之Foundation框架的使用

    黑马程序员--OC之Foundation框架的使用 ------- <a href="http://www.itheima.com" target="blank&q ...

  5. TTL电平,CMOS电平,OC门,OD门基础知识

    转载: TTL电平,CMOS电平,OC门,OD门基础知识 TTL TTL集成电路的主要型式为晶体管-晶体管逻辑门(transistor-transistor logic gate),TTL大部分都采用 ...

  6. Webpack系列-第一篇基础杂记

    系列文章 Webpack系列-第一篇基础杂记 Webpack系列-第二篇插件机制杂记 Webpack系列-第三篇流程杂记 前言 公司的前端项目基本都是用Webpack来做工程化的,而Webpack虽然 ...

  7. swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程

    swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程 1.2.3  注册非免费苹果账号swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程 免费的苹果账号在 ...

  8. Swift版iOS游戏框架Sprite Kit基础教程下册

    Swift版iOS游戏框架Sprite Kit基础教程下册 试读下载地址:http://pan.baidu.com/s/1qWBdV0C  介绍:本教程是国内唯一的Swift版的Spritekit教程 ...

  9. iOS游戏框架Sprite Kit基础教程第1章编写第一个Sprite Kit程序

    iOS游戏框架Sprite Kit基础教程第1章编写第一个Sprite Kit程序 程序是为了实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合.本章将以编写第一个Sprite Kit程序为 ...

最新文章

  1. 计算两个字符串之间是否包含的简单方法
  2. Web框架之Django_10 重要组件(Auth模块)
  3. [iOS]应用内支付(内购)的个人开发过程及坑!
  4. 漫步微积分二十四——定积分引言
  5. 关于中层管理者的会议态度
  6. MFC开发IM-第七篇、mfc设置默认编辑框内容
  7. GitHub 回应突然断供:身不由己,无权提前通知预警
  8. linux 查看文件工具,lsof---Linux查看文件信息的强大工具
  9. [科研论文]基于W7100的以太网读卡器的设计与实现
  10. linux 内核参数优化 mysql_Linux记录-mysql参数优化
  11. USA 2008 Presidential Debate
  12. matlab 汽车 流场,MATLAB编程与汽车仿真应用
  13. python实现bm3d图像去噪
  14. 全民奇迹修复云服务器跨服,全民奇迹开启跨服PK 穿过服务器来战你
  15. 【图论-二分图】中山纪念中学暑期游Day15——【NOIP2013模拟联考3】沙耶的玩偶(doll)
  16. java 解密pdf文件,PDFBox加密和解密PDF文件
  17. Audacity使用技巧详解
  18. 如何让android的屏幕保持常亮
  19. 将GeoJson面域转换成PPT可编辑的多段线
  20. nw.js 打开一个exe项目,再次点击快捷方式启动已经存在的exe到最前端 open file with existing app

热门文章

  1. [归并][随机算法] JZOJ P3765 想法
  2. python基础----python的使用(四)
  3. 前端工程师必备:学习资源全网罗
  4. CSS3动画之百度钱包
  5. [Objective-c 基础 - 2.1] 封装
  6. Win8节省C盘空间攻略
  7. keytool命令总结
  8. 10. Firewalls (防火墙 2个)
  9. 解决webview调用 goBack() 返回上一页自动刷新闪白的情况
  10. java 数组的冒泡排序