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);
//================转载请注明出处=================
NSString/NSMutable字符串——韩俊强…的更多相关文章
- iOS中 扫描二维码/生成二维码详解 韩俊强的博客
最近大家总是问我有没有关于二维码的demo,为了满足大家的需求,特此研究了一番,希望能帮到大家! 每日更新关注:http://weibo.com/hanjunqiang 新浪微博 指示根视图: se ...
- iOS中 扫描二维码/生成二维码具体解释 韩俊强的博客
近期大家总是问我有没有关于二维码的demo,为了满足大家的需求,特此研究了一番,希望能帮到大家! 每日更新关注:http://weibo.com/hanjunqiang 新浪微博 指示根视图: se ...
- iOS中 HTTP/Socket/TCP/IP通信协议详解 韩俊强的博客
每日更新关注:http://weibo.com/hanjunqiang 新浪微博 简单介绍: // OSI(开放式系统互联), 由ISO(国际化标准组织)制定 // 1. 应用层 // 2. 表示层 ...
- iOS中 HTTP/Socket/TCP/IP通信协议具体解释 韩俊强的博客
简介: // OSI(开放式系统互联), 由ISO(国际化标准组织)制定 // 1. 应用层 // 2. 表示层 // 3. 会话层 // 4. 传输层 // 5. 网络层 // 6. 数据链接层 / ...
- NSString的几种常用方法—韩俊强博…
要把 "2011-11-29" 改写成 "2011/11/29"一开始想用ios的时间格式,后来用NSString的方法搞定. 1.创建NSString字符串 ...
- iOS中 Realm的学习与使用 韩俊强的博客
每日更新关注:http://weibo.com/hanjunqiang 新浪微博! 有问题或技术交流可以咨询!欢迎加入! 这篇直接搬了一份官方文档过来看的 由于之前没用markdown搞的乱七八糟的 ...
- iOS中 动态热修补技术JSPatch 韩俊强的博客
.1.4) JSPatch bridge Objective-C and JavaScript. You can call any Objective-C class and method in Ja ...
- iOS开发中的零碎知识点笔记 韩俊强的博客
每日更新关注:http://weibo.com/hanjunqiang 新浪微博 1.关联 objc_setAssociatedObject关联是指把两个对象相互关联起来,使得其中的一个对象作为另外 ...
- iOS中 最新支付宝支付(AliPay) 韩俊强的博客
每日更新关注:http://weibo.com/hanjunqiang 新浪微博 现在的支付方式一般有三种, 支付宝, 微信, 网银. 个人觉得最简单易用的还是支付宝, 微信虽然看起来币支付宝要简单 ...
随机推荐
- 聊聊LightProbe原理实现以及对LightProbe数据的修改
0x00 前言 最近工作比较忙,所以文章已经很久没有更新了.这篇小文的主题也是在出差的高铁上想到,因为最近和一些朋友聊天,发现他们中很多人的项目中都使用了多个实时光源.细问之下主要是某些物体,例如角色 ...
- ORA-01207: file is more recent than control file - old control file的处理方法
1. 连接数据库 sqlplus / as sysdba2. 启动数据库,此时会报标题中的错误startup 3.备份创建控制文件的脚本语句,并从中拷贝出相关的NORESETLOGS模式的创建控制文件 ...
- Codeforces Round #396(Div. 2) A. Mahmoud and Longest Uncommon Subsequence
[题意概述] 找两个字符串的最长不公共子串. [题目分析] 两个字符串的最长不公共子串就应该是其中一个字符串本身,那么判断两个字符串是否相等,如果相等,那么肯定没有公共子串,输出"-1&qu ...
- MySQL系列教程(五)
MyCAT MyCat是基于阿里开源的Cobar产品而研发,Cobar的稳定性.可靠性.优秀的架构和性能以及众多成熟的使用案例使得MYCAT一开始就拥有一个很好的起点,站在巨人的肩膀上,我们能看到更远 ...
- Bootstrap3 排版-标题
HTML 中的所有标题标签,<h1> 到 <h6> 均可使用.另外,还提供了 .h1 到 .h6 类,为的是给内联(inline)属性的文本赋予标题的样式. h1. Boots ...
- 用Python最原始的函数模拟eval函数的浮点数运算功能(2)
这应该是我编程以来完成的难度最大的一个函数了.因为可能存在的情况非常多,需要设计合理的参数来控制解析流程.经验概要: 1.大胆假设一些子功能能够实现,看能否建立整个框架.如果在假设的基础上都无法建立, ...
- Leetcode解题-链表(2.2.6)RotateList
1 题目:Rotate List Given a list, rotate the list to the right by k places, where k is non-negative. Fo ...
- ExpandableListView仿QQ好友列表
本例中,对ExpandableListView中的数据进行了封装,分为两个JavaBean,一个为Group类表示组信息,一个Child类表示该组下子列表信息: Group: public class ...
- win7下创建逻辑分区
许多用户在安装Win7时都遇,安装程序创建的都是主分区,并没有创建逻辑分区的任何选项,这样的情况导致创建4个主分区后剩余的空间无法继续分配的情况,这使得许多用户情何以堪.很多用户都向小编反映该问题,有 ...
- android EventBus 3.0使用指南
Enventbus的作用和好处我就不多说了,这里介绍下怎么使用. 2.+版本的使用方法 public void onEvent(MessageEvent event) { log(event.mess ...