9、Foundation框架中的NSString經常使用方法

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

相關文章
相關標籤/搜索