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語言中的字符串