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);
//================转载请注明出处=================
转自:http://blog.csdn.net/qq_31810357
NSString/NSMutable字符串——韩俊强…相关推荐
- iOS中 HTTP/Socket/TCP/IP通信协议详解 韩俊强的博客
版权声明:本文为博主原创文章,未经博主允许不得转载. 每日更新关注:http://weibo.com/hanjunqiang 新浪微博 简单介绍: [objc] view plaincopy // ...
- iOS中 Realm的学习与使用 韩俊强的博客
iOS开发者交流QQ群:446310206 有问题或技术交流可以咨询!欢迎加入! 这篇直接搬了一份官方文档过来看的 由于之前没用markdown搞的乱七八糟的 所以重新做了一份 后面看到官网的中文文 ...
- iOS中 支付宝钱包详解/第三方支付 韩俊强的博客
每日更新关注:http://weibo.com/hanjunqiang 新浪微博! iOS开发者交流QQ群: 446310206 一.在app中成功完成支付宝支付的过程 1.申请支付宝钱包.参考网址 ...
- iOS开发中的零碎知识点笔记 韩俊强的博客
每日更新关注:http://weibo.com/hanjunqiang 新浪微博 1.关联 objc_setAssociatedObject关联是指把两个对象相互关联起来,使得其中的一个对象作为另外 ...
- iOS10 适配 ATS(app支持https通过App Store审核) 韩俊强的博客
一. HTTPS 其实HTTPS从最终的数据解析的角度,与HTTP没有任何的区别,HTTPS就是将HTTP协议数据包放到SSL/TSL层加密后,在TCP/IP层组成IP数据报去传输,以此保证传输数据的 ...
- iOS中 百度地图详解 韩俊强的博文
需要准备工作按照下图引进类库 需要添加 添加的两个字符串为:NSLocationWhenInUseUsageDescription / NSLocationAlwaysUsageDescripti ...
- iOS中 最新微信支付/最全的微信支付教程详解 韩俊强的博客
亲们, 首先让我们来看一下微信支付的流程吧. 1. 注册微信开放平台,创建应用获取appid,appSecret,申请支付功能,申请成功之后会返回一些参数. 2. 下载微信支付sdk 3. 客户端请求 ...
- ios 控件切圆_iOS中 切圆角,任意几个角(带边框,不带边框)__OC和Swift版本 韩俊强的博客...
需求: 1.日常我们在切控件圆角时会遇到想切任意圆角? 2.切过圆角带边框和不带边框的选择? 那么今天我们就用Objective-C和Swift都给它实现了: OC代码: UILabel *myLab ...
- iOS中 语音识别功能/语音转文字教程具体解释 韩俊强的博客
前言:近期研究了一下语音识别,从百度语音识别到讯飞语音识别:首先说一下个人针对两者的看法,讯飞毫无疑问比較专业.识别率也非常高真对语音识别是比較精准的,可是非常多开发人员和我一样期望离线识别,而讯飞离 ...
最新文章
- 亲手建造自己想要的生活
- AngularJs Cookie 的使用
- 手机进不了recovery模式了 怎么办
- linux卸载android studio,mac上完整卸载删除.简单粗暴无脑:androidstudio删除方案
- oracle数据库实践,RubyonRails连接Oracle数据库实践
- uat测试用例怎么写_你会写测试用例吗
- Hadoop(一)如何搭建大数据Hadoop集群?(大数据入门教程)
- 人脸识别系统技术方案
- 如何免费设置QQ空间背景音乐
- 知乎文章导出完整PDF(简单易上手)
- Vmware Workstation Pro初级使用
- You should consider either expiring and/or testing connection validity before use in your applicat
- Jackson ImmunoResearch 蛋白质印迹指南丨膜清洗
- 自定义右键的打开方式
- 软件架构入门及分类——微内核架构
- k-means用于图像的颜色聚类
- maven 本地仓库配置
- 小企业如何利用区块链和大数据获利?
- Mircrosoft Visual C++ Runtime Library提示窗口为何黏着桌面
- scikit-image库-- 圆形和椭圆形霍夫变换(十七)
热门文章
- Android底层禁用WiFi和蓝牙功能
- pyqt5教程9:Widgets组件
- php教程源码分享,php教程|php源码|php学习
- python输出日志文件_python将print输出的信息保留到日志文件中
- 基础的VueJS面试题(附答案)
- 基于Smith预估器的PID控制在房间湿度控制
- linux io重定向指令,Linux基础知识之 IO重定向
- element ui走马灯怎么添加_Lovestu - Element UI 走马灯高度自适应
- C#命名规则和编码规范
- Apache下的ArrayUtils工具类总结