1、NSString的建立api
方式1建立常量字符串app
NSString *st = @"this is string!"; //这种方式建立的字符串不须要释放this
方式2建立空字符串,给予赋值编码
NSString *str =[[NSString alloc] init];atom
str = @"this is string!";url
[str release];spa
方式3经过字符串建立字符串component
NSString str =[[NSString alloc] initWithString:@"abcdse"];orm
//或者[[NSString alloc] initWithFormat:@"abcdse"];ip
[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"];
2、字符串的读取
从文件中读取字符串文本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);
3、字符串的导出
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(@"读取文件成功");
}
4、NSString字符串大小写处理
- (NSString *)uppercaseString//所有转换为大写字母
- (NSString *)lowercaseString//所有转换为小写字母
- (NSString *)capitalizdString//首字母大写,其余字母都变小写
5、NSString的比较
- (BOOL)isEqualToString:(NSString *) aString
比较两个字符串的内容是否相同,相同返回YES,不然NO
- (NSComparisonResult)compare:(NSString *) aString
逐个字符地进行比较,返回NSComparisonResult枚举类比较结果
NSComparisonResult有三个值:
若是左侧大于右侧,返回NSOrderedDescending,
若是左侧小于右侧,返回NSOrderedAscending,
不然返回NSOrderedSame
- (NSComparisonResult)caseInsensitiveCompare:(NSString *) aString
忽略大小写进行比较,返回值与compare:一致
5、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指定搜索范围
6、字符串截取
-(NSString *) substringFormIndex:(NSUInteger)index
从index位置开始截取,到尾部,包括index
-(NSString *) substringToIndex:(NSUInteger)index
从头开始,截取到index以前,不包括index
-(NSString *) substringWithRange:(NSRange)range
按照给出的NSRange从字符串中截取字符串
- (NSArry *)componentsSeparatedByString:(NSString *)separator
用separator为分隔符截取字符串,返回一个装着子串的NSArray
7、NSString与路径
+ (NSString *)pathWithComponents:(NSArray *)components
将components中的字符串按顺去拼成一个路径
- (NSArray *)pathComponents
将一个路径分解成一个装着每个目录的NSArray
- (BOOL)isAbsolutePath
是不是绝对路径
- (NSString *)lastPathComponent
得到最后一个目录
- (NSString *)stringByDeletingLastPathComponent
删除最后一个目录
- (NSString *)stringByAppendingLastPathComponent:(NSString *)str
在路径后面拼接一个目录
8、NSString与拓展名
- (NSString *)pathExtension
得到拓展名
- (NSString *)stringByDeletingLastPathExtension
删除尾部的拓展名
- (NSString *)stringByAppendingLastPathExtension:(NSString *)str
在尾部添加一个拓展名
9、NSString其余用法
- (NSUInteger)length
返回字符串长度(字符个数)
- (unichar)charactertInd:(NSUIntger)index
返回index位置对应的字符
-(double)doubleValue
-(float)floatValue
-(int)intValue
-(char *)UTF8String
转换C语言中的字符串