一、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常用方法的更多相关文章

  1. (转载)OC学习篇之---Foundation框架中的NSString对象和NSMutableString对象

    在之前的一篇文章中我们说到了Foundation框架中的NSObject对象,那么今天在在来继续看一下Foundation框架中的常用对象:NSString和NSMutableString. 在OC中 ...

  2. OC学习篇之---Foundation框架中的NSString对象和NSMutableString对象

    今天在在来继续看一下Foundation框架中的常用对象:NSString和NSMutableString 在OC中NSString对象是不可变的,和Java中的String一样的,而NSMutabl ...

  3. (转载)OC学习篇之---Foundation框架中的NSArray类和NSMutableArray类

    在之前的一篇文章中介绍了Foundation框架中的NSString类和NSMutableString类,今天我们继续来看一下Foundation框架中的NSArray类和NSMutableArray ...

  4. Objective-C:Foundation框架-常用类-NSString全解

    Foundation框架中常用的类有字符串.集合.字典等,这里介绍字符串NSString.本文分别介绍了NSString的创建.从文件里读取NSString字符串.通过函数改变外部的NSString变 ...

  5. (转载)OC学习篇之---Foundation框架中的NSObject对象

    前一篇文章讲到了OC中的代理模式,而且前几篇文章就介绍了OC中的类相关知识,从这篇文章开始我们开始介绍Foundation框架. OC中的Foundation框架是系统提供了,他就相当于是系统的一套a ...

  6. OC学习篇之---Foundation框架中的NSObject对象

    从这篇文章开始我们开始介绍Foundation框架. OC中的Foundation框架是系统提供了,他就相当于是系统的一套api,和Java中的一些系统jar很相似,又早起的一批人开发的,内部有很多现 ...

  7. (转载)OC学习篇之---Foundation框架中的其他类(NSNumber,NSDate,NSExcetion)

    前一篇说到了Foundation框架中的NSDirctionary类,这一一篇来看一下Foundation的其他常用的类:NSNumber,NSDate,NSException. 注:其实按照Java ...

  8. (转载)OC学习篇之---Foundation框架中的NSDirctionary类以及NSMutableDirctionary类

    昨天学习了Foundation框架中NSArray类和NSMutableArray类,今天来看一下Foundation框架中的NSDirctionary类,NSMutableDirctionary类, ...

  9. OC学习篇之---Foundation框架中的其他类(NSNumber,NSDate,NSExcetion)

    1.NSNumber 这个类主要是用来封装基本类型的,说到这里,就不得不说一下了: OC中的集合是不允许存入基本类型的,所以NSNumber类就诞生了,需要将基本类型封装一下,然后存进去,这个类似于J ...

随机推荐

  1. javascript-this,call,apply,bind简述1

    最近在系统的学习面向对象方面的知识,遇到的最大拦路虎就数this的指向,call,apply,bind函数的使用,单独抽出一天时间把这几个烦人的家伙搞定,去学习更深入的内容. 首先介绍一下this的一 ...

  2. Mssql链接mysql数据库

    最近在做mysql数据库实时同步到mssql数据库的方案,花了一周时间,测试通过了,在实际机器上测试出现了若干问题.第一个问题就是在mssql上链接mysql的问题. 第一步,安装 Mysql ODB ...

  3. SAP ST05数据跟踪使用

    有时我们想知道SAP操作,对数据库中的那些表进行的增删查改. 可以使用ST05跟踪SQL语句. ST05功能界面如下: 1---激活跟踪 2---结束跟踪 3---显示跟踪结果. 如果想跟踪SQL语句 ...

  4. Intent传递对象的两种方法

    Android为intent提供了两种传递对象参数类型的方法 分别需要使实体类实现Serializable接口.Parcelable接口 首先我们要知道,传递对象,需要先将对象序列化 一.那么为什么要 ...

  5. JAVA基础学习day20--IO流二-缓冲流、字节流

    一.缓冲流 1.1.字符流的缓冲区 缓冲区的出现是为了提高IO的读写效率 对应类 BufferedReader BufferedWriter 缓冲区要结合流才可以使用 在流的基础上对流的功能进行了增强 ...

  6. iOS之 APP异常捕获反馈给服务器

    在我们开发的app中, 不可避免的, 有时候用户使用软件会崩溃.  我们就需要捕获异常, 可以在入口类中加入相应的代码, 可以在每次用户打开程序的时候, 检查一下沙盒中是否有崩溃日志, 如果有, 可以 ...

  7. C语言-01-基本语法

    一.学前需知 开发工具 windows平台:Visual C++6.0等 mac平台:Xcode6.0等 以下文章内容皆是以Xcode6.0为开发工具,clang编译器. Xcode的一些常用快捷键 ...

  8. C语言的传值与传址调用

    传值调用并不能改变两个变量的值,而传址能. 为什么,因为,传值调用,仅仅是在函数内,调换参数的值. 而地址所指向的值,改变的不仅仅是函数内,函数外也改变. 请看代码: 这里还要注意:通常我们不会返回局 ...

  9. redis客户端--jedis

    一.jedis jedis 是 redis推荐的java客户端.通过Jedis我们可以很方便地使用java代码的方式,对redis进行操作.jedis使用起来比较简单,它的操作方法与redis命令相类 ...

  10. centos7.2 yum安装lamp环境

    一.准备工作 1.   下载并安装centos7.2,配置好网络环境,确保centos能上网,可以获取到yum源. centos7.2的下载地址:http://pan.baidu.com/s/1eRT ...