oc-字符串NSString,NSMutablesString基本使用方法
2015-11-07 15:08
459 查看
一.NSString字符串
>字符串是Foundation框架下的类,iOS2.0以后。
> NSString是不可变的字符串
>一旦被创建(即开辟了空间),只可读取,不能被修改(即修改和删除内容)。
1.创建一个字符串(通过初始化方法)NSString *str
= @"今天天气真不错";
NSString *str1 = [[NSStringalloc]initWithFormat:@"%@",
str];
2.创建一个字符串
>(便利构造器,每一个便利构造器都是以这个类名开头)
NSString *str = @"今天天气真不错";
//通常我们都写成上面种形式。直接@
NSString *str2 = [NSString stringWithString:@"大家一起出去春游吧"];
//利用另一个字符串来初始化
NSString *str2 = [NSString stringWithString:str];
NSString *str3 = [NSString stringWithFormat:@"%@",str2];
3.字符串的万能方法,
>(通常用于字符串的拼接,Format的@“ ”,是一个格式)
> (你可以放任何你想要组成的字符串格式)
NSString *str5 = [NSStringstringWithFormat:@"%@,
%@,每人交%d块钱", str, str2,20];
4.获取字符串长度 (关键字length) //字符串长度通过length获得
NSLog(@"%ld",
[str length]);//通过length方法
NSLog(@"%ld",str.length); //通过点语法
5.截取字符串
>(获取子字符串,三种方法)关键字(sub)
(substringFromIndex)(substringToIndex)(substringWithRange)
5.1:substringFromIndex
> 从索引位置开始(包括当前位置的)截取到该字符串结束
>( 就是从开头数1个字符串舍弃,如果是n,就是数n个舍弃)
NSString*subStr1 =
[str5substringFromIndex:1];
结果:今天的“今”,不见了。
5.2:substringToIndex,
>从字符串开头截取,直到索引位置结束(不包括当前位置的)
>(就是从开头数n个字符,不在这个范围内的舍弃,和上一个相反)
NSString *subStr2 = [str5substringToIndex:1];
结果:只留下了今天的“今”
5.3:substringWithRange:
> 通过范围来截取子串
>从location开始(包含)往后截取length个(下标从0开始数)
从下标为1的字符串开始,截取2个字符给subStr3
// NSRange range = NSMakeRange(1, 2);
// NSString *subStr3 = [str5 substringWithRange:range];
上两句和下面句含义相同
NSString*subStr3 =[str5
substringWithRange:NSMakeRange(1,2)];
6.字符串的拼接 (关键字:appending)
>可以使用标题3,字符串万能方法
NSString *apStr1 = [strstringByAppendingFormat:@"学委请%@的自助餐",80];
//以字符串来拼接字符串
NSString *apStr2 = [strstringByAppendingString:@"大家一起出去春游吧"];
7.字符串替换,两种形式(关键字:replacing)
7.1:替换字符串内固定内容
>(两个长度可以不一样)用****替换今天
NSString *replacStr = [strstringByReplacingOccurrencesOfString:@"今天"withString:@"****"];
7.2:替换字符串内固定位置从2这个下标开始,数4个长度。
> (如果withString后面的长度比4长
> 则替换4个长度中的内容。如果长度比4短,则替换位置)
NSString *replacStr2 = [strstringByReplacingCharactersInRange:NSMakeRange(2,4)withString:@"放假"];
8.字符串比较 :(关键字:isEqualToString:compare:hasSuffix:hasPrefix)
//表示这个str字符串和@“ ”中的内容是否相同。
>isEqualToString,[str
isEqualToString:@"字符串"];
//str
比 str2 大,则返回 1,小则返回-1,相同则返回0
>compare,
[str compare:str2];
//str是否以@“”这个字符串结尾
>hasSuffix,
[str hasSuffix:@"字符串"];
//str是否以@“”这个字符串开头
>hasPrefix,
[str hasPrefix:@"字符串"];
9.字符串分割 (关键字:components)
NSString *str5 = [[NSString
alloc]
initWithFormat:@"20|http://www.baidu.com"];
//以|为分割点,返回值是一个数组
NSArray *str7 = [str5
componentsSeparatedByString:@"|"];
10.字符串包含 (关键字:contain)
//检测这个字符串是否包含|。
[str5
containsString:@"|"];
二:可变字符串NSMutableString
注意:可变字符串是在自己本身的基础上做修改,没有返回值NSMutableString *mutableString = [NSMutableString stringWithFormat:@"走了两个战友"];
//字符串拼接关键字:append
[mutableString appendString:@",我们来年再战"];
//字符串的删除关键字:delete
[mutableString deleteCharactersInRange:NSMakeRange(1,5)];
//字符串的插入关键字:insert
[mutableString insertString:@"����"
atIndex:1];
//字符串的替换关键字:replace
[mutableString replaceCharactersInRange:NSMakeRange(1,4)
withString:@"***≈"];
[mutableString replaceOccurrencesOfString:@""
withString:@"����" options:4
range:NSMakeRange(10,2)];
NSLog(@"%@", mutableString);
相关文章推荐
- poj 2156 Minimum Cost 多次最大流最小费
- sicily 1019. Apple Tree
- Python 学习笔记
- 取消界面Title
- 【线性表】顺序表
- 通过innobackupex实现对MySQL的完整热备份
- spring与jedis整合配置
- 基于事件的select:WSAEventSelect模型
- 用Delphi即时判断当前的网络的连接方式
- UIImageView的图片切割问题
- android makefile 编译分析及 android.mk分析
- java虚拟机
- AndroidManifest.xml 文件中Activity节点中android:configChanges的作用
- Spring的多配置文件加载
- [置顶] 如何设计一个可用的web容器
- Cloud Design Pattern - CQRS Pattern (读写隔离模式)
- 视频教程vs文档教程
- 用Delphi怎么调用IE菜单中的internet选项
- Kotlin 学习(1) -- Hello World
- iOS 程序进入后台到底发生了什么?