九、Foundation框架中的NSString常用方法
一、NSString的创建
方式1创建常量字符串
NSString *st = @"this is string!"; //这种方式创建的字符串不需要释放
方式2创建空字符串,给予赋值
NSString *str =[[NSString alloc] init];
str = @"this is string!";
[str release];
方式3通过字符串创建字符串
NSString str =[[NSString alloc] initWithString:@"abcdse"];
//或者[[NSString alloc] initWithFormat:@"abcdse"];
[str release];
对应的静态方法(不需要释放内存)
NSString str =[NSString stringWithString:@"abcdse"];
方式4用标准C创建字符串
char *str = "dsada";
NSString str = [[NSString alloc] initWithCString:str encoding:NSUTF8StringEncoding];
或者[[NSString alloc] initWithUTF8String:str];
[str release];
对应的静态方法(不需要释放内存)
NSString str =[NSString stringUTF8String:@"abcdse"];
二、字符串的读取
从文件中读取字符串文本1
NSString *path= @"/Users/apple/Desktop/test.txt";
//指定编码为UTF-8,error表示有错误会赋值给error,需要传一个error的地址
NSError *error;
NSString *str1 = [NSString stingWithContentOfFile:path:NSUTF8StringEncoding :error:&error];
if(errof == nil){//没有错误信息
NSLog(@"读取文件成功%@",str1);
}else{
NSLog(@"读取文件失败%@",error);
}
从文件中(远程)读取字符串文本2
url前面必须是http://, ftp://和file://等
NSURL *url =[NSURL URLWithString:"@file:///Users/apple/Desktop/test.txt"];
NSString *str2 = [NSString stingWithContentOfURL:url:NSUTF8StringEncoding :error:nil];
NSLog(@"%@",str2);
NSURL *url =[NSURL URLWithString:"@http://www.baidu.com"];
NSString *str3 = [NSString stingWithContentOfURL:url:NSUTF8StringEncoding :error:nil];
NSLog(@"%@",str3);
三、字符串的导出
NSString *str = @"1235";
NSError *error;
//如果文件不存,则在会自动创建
//如果文件夹不存在,会直接报错
NSString *path= @"/Users/apple/Desktop/test.txt";
//atomiclly代表原子性,如果yes,代表创建临时文件,内容写到临时文件中,写完后,传入文件中;如果是no,会直接写到文件中
[str writToFile:path atomiclly:YES encodin:NSUTF8StringEncoding erro:&error];
if(errof ){
//[error localizedDescription]会返回主要的错误信息
NSLog(@"读取文件失败:%@" ,[error localizedDescription]);
}else{
NSLog(@"读取文件成功");
}
四、NSString字符串大小写处理
- (NSString *)uppercaseString//全部转换为大写字母
- (NSString *)lowercaseString//全部转换为小写字母
- (NSString *)capitalizdString//首字母大写,其他字母都变小写
五、NSString的比较
- (BOOL)isEqualToString:(NSString *) aString
比较两个字符串的内容是否相同,相同返回YES,否则NO
- (NSComparisonResult)compare:(NSString *) aString
逐个字符地进行比较,返回NSComparisonResult枚举类比较结果
NSComparisonResult有三个值:
如果左侧大于右侧,返回NSOrderedDescending,
如果左侧小于右侧,返回NSOrderedAscending,
否则返回NSOrderedSame
- (NSComparisonResult)caseInsensitiveCompare:(NSString *) aString
忽略大小写进行比较,返回值与compare:一致
五、NSString中搜索字符串
- (BOOL)hasPrefix:(NSString *)aString
是否以aString开头
- (BOOL)hasSuffix:(NSString *)aString
是否以aString结尾
- (NSRange)rangeOfString:(NSString *)aString
检查是否包含了aString,如果包含,返回位置,不包含,返回{-1,0}
- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOption)mask
可以传递一个mask参数,改变搜索方式
比如NSStringCompareOptions为NSBackwardsSearch表示从尾部开始搜索
- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOption)mask range:(NSRange)searchRange
还可以用searcRaneg指定搜索范围
六、字符串截取
-(NSString *) substringFormIndex:(NSUInteger)index
从index位置开始截取,到尾部,包括index
-(NSString *) substringToIndex:(NSUInteger)index
从头开始,截取到index之前,不包括index
-(NSString *) substringWithRange:(NSRange)range
按照给出的NSRange从字符串中截取字符串
- (NSArry *)componentsSeparatedByString:(NSString *)separator
用separator为分隔符截取字符串,返回一个装着子串的NSArray
七、NSString与路径
+ (NSString *)pathWithComponents:(NSArray *)components
将components中的字符串按顺去拼成一个路径
- (NSArray *)pathComponents
将一个路径分解成一个装着每一个目录的NSArray
- (BOOL)isAbsolutePath
是否是绝对路径
- (NSString *)lastPathComponent
获得最后一个目录
- (NSString *)stringByDeletingLastPathComponent
删除最后一个目录
- (NSString *)stringByAppendingLastPathComponent:(NSString *)str
在路径后面拼接一个目录
八、NSString与拓展名
- (NSString *)pathExtension
获得拓展名
- (NSString *)stringByDeletingLastPathExtension
删除尾部的拓展名
- (NSString *)stringByAppendingLastPathExtension:(NSString *)str
在尾部添加一个拓展名
九、NSString其他用法
- (NSUInteger)length
返回字符串长度(字符个数)
- (unichar)charactertInd:(NSUIntger)index
返回index位置对应的字符
-(double)doubleValue
-(float)floatValue
-(int)intValue
-(char *)UTF8String
转换C语言中的字符串
九、Foundation框架中的NSString常用方法的更多相关文章
- (转载)OC学习篇之---Foundation框架中的NSString对象和NSMutableString对象
在之前的一篇文章中我们说到了Foundation框架中的NSObject对象,那么今天在在来继续看一下Foundation框架中的常用对象:NSString和NSMutableString. 在OC中 ...
- OC学习篇之---Foundation框架中的NSString对象和NSMutableString对象
今天在在来继续看一下Foundation框架中的常用对象:NSString和NSMutableString 在OC中NSString对象是不可变的,和Java中的String一样的,而NSMutabl ...
- (转载)OC学习篇之---Foundation框架中的NSArray类和NSMutableArray类
在之前的一篇文章中介绍了Foundation框架中的NSString类和NSMutableString类,今天我们继续来看一下Foundation框架中的NSArray类和NSMutableArray ...
- Objective-C:Foundation框架-常用类-NSString全解
Foundation框架中常用的类有字符串.集合.字典等,这里介绍字符串NSString.本文分别介绍了NSString的创建.从文件里读取NSString字符串.通过函数改变外部的NSString变 ...
- (转载)OC学习篇之---Foundation框架中的NSObject对象
前一篇文章讲到了OC中的代理模式,而且前几篇文章就介绍了OC中的类相关知识,从这篇文章开始我们开始介绍Foundation框架. OC中的Foundation框架是系统提供了,他就相当于是系统的一套a ...
- OC学习篇之---Foundation框架中的NSObject对象
从这篇文章开始我们开始介绍Foundation框架. OC中的Foundation框架是系统提供了,他就相当于是系统的一套api,和Java中的一些系统jar很相似,又早起的一批人开发的,内部有很多现 ...
- (转载)OC学习篇之---Foundation框架中的其他类(NSNumber,NSDate,NSExcetion)
前一篇说到了Foundation框架中的NSDirctionary类,这一一篇来看一下Foundation的其他常用的类:NSNumber,NSDate,NSException. 注:其实按照Java ...
- (转载)OC学习篇之---Foundation框架中的NSDirctionary类以及NSMutableDirctionary类
昨天学习了Foundation框架中NSArray类和NSMutableArray类,今天来看一下Foundation框架中的NSDirctionary类,NSMutableDirctionary类, ...
- OC学习篇之---Foundation框架中的其他类(NSNumber,NSDate,NSExcetion)
1.NSNumber 这个类主要是用来封装基本类型的,说到这里,就不得不说一下了: OC中的集合是不允许存入基本类型的,所以NSNumber类就诞生了,需要将基本类型封装一下,然后存进去,这个类似于J ...
随机推荐
- SAP ALV标准范例程序介绍
下面介绍几个学习ALV的SAP自带标准程序实例 1. BALVSD06 : Output flights (simple version + save)这是该系列范例最简单的一个,建议以此入门.使用的 ...
- 百度地图开发的学习(一)——配置环境&基础地图
由于项目需求缘故,最近在学习Android地图的开发,所以就记录一下学习过程.最近都会陆续更新啦.目前使用百度地图API的挺多的,所以就先以它为基础学习一些地图的调用. 一.AK的申请 与web开发不 ...
- swift如何动态创建对象
前言: 在一些大型的项目中常常在加载页面的时候根据服务器请求下来的数据动态创建视图控制器对象,最近的一个项目就有这一方面的需求,加载页面之前需要先请求服务器的数据得到一个JSON字典,根据里面字符串的 ...
- android创建自定义控件
新建一个布局title.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xm ...
- Cron 表达式详解和案例
1. cron表达式格式: {秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)} 2. cron表达式各占位符解释: {秒数} ==> 允许值范围: 0~59 ,不允许 ...
- 每日Scrum--No.7
Yesterday:学习和设计路线的编程 Today:编写代码 Problem:.在设计查询参观路线的时候,整个逻辑特别的混乱,设想了各种树,图以及网的遍历问题,但经过多次与同学的交流以及网上的查询资 ...
- Nde模块篇
/*模块分为两种:原生模块和文件模块.原生模块即Node.js API提供的原生模块,原生模块在启动时已经被加载.文件模块即为动态加载模块,加载文件模块的工作主要由原生模块 module 来实现和完成 ...
- Github学习进阶-初露锋芒,通过命令行将本地git仓库推送到Github上面的仓库
前提: 1. 需要安装git 客户端. 能打开 git bash 命令行窗口. 2. 生成了ssh 秘钥,并添加到了Github上面. 一.在Github上面建立一个git仓库. 点击 + 号,在 ...
- 网站日志实时分析工具GoAccess使用
网站日志实时分析工具GoAccess使用 系统环境CentOS release 5.5 (Final) GoAccess是一款开源的网站日志实时分析工具. GoAccess 的工作方式就是读取和解析 ...
- Dreamweaver 制作图片热点之后,点击热点部分会有个提示框,怎么去掉
可以这么写试试看<map name="Map"> <area shape="rect" coords="364,31,517,64& ...