1。創建NSString:
法1:不需要內存管理
NSString *aString = @"abcd!";
法2:不需要內存管理
//+(id)stringWithFormat:(NSString *)fomat,...;
NSString *height;
height = [NSString stringWithFormat:@"your height is %d feet,%d inches",5,11];
NSLog(@"%@",height);
stringWithFormat是一個類方法,通過格式字符串和參數來創建NSString
oc生成一個類時,會創建一個代表該類的類對象。
類對象包含了指向超類的指針,類名和指向類方法列表的指針。
類對象還包含一個long型數據,爲新創建的類實例對象指定大小。
法3:需要內存管理
NSString *aString = [[NSString alloc]initWithFormat:@"abcd!"];
NSLog(@"%@",aString);
[aString release];//釋放
一個alloc 一個new 一個copy 對應一個release
1.從一個文件讀取需要的內容(本地):
- (id)initWithContentsOfFile:(NSString *)path usedEncoding:(NSStringEncoding *)enc error:(NSError **)error;
2.從一個地址讀取需要的內容(遠程、網絡):
- (id)initWithContentsOfURL:(NSURL *)url usedEncoding:(NSStringEncoding *)enc error:(NSError **)error;
//如果和alloc成對使用時,需要內存管理。
-(unsigned int)length;
返回字符串的字符個數
優勢:
能準確的處理國際字符串。(漢語,韓語,日語)
4.拷貝字符串
+ (id)stringWithString:(NSString *)string;
NSString *myString = @"this is an exasd";
NSString *newString =[NSString stringWithString:myString];
NSLog(@"%@",newString);
5.
NSString的比較方法
方法1:
函數
isEqualToString:(NSString *)
比較兩個字符串的指針指向的內容
==
比較指針地址是否相等,而不是他們所指向的對象。
方法2:
- (NSComparisonResult)compare:(NSString *)string options:(NSStringCompareOptions)mask;
作用:
將接受對象和傳遞來的字符串逐個字符地進行比較,返回一個
NSComparisonResult(enum型數據)顯示比較結果。
enum _NSComparisonResult {NSOrderedAscending = -1, NSOrderedSame, NSOrderedDescending};
參數說明:
options參數是一個位掩碼,可以使用位或運算符(|)來添加選項標記。
6.
根據分隔符,把字符分割
NSString *a1 =@"this,is,a,String";
NSArray *strings = [a1 componentsSeparatedByString:@","];
結果:
得到一個數組 strings{"this","is","a","String"};
連接字符串
NSArray *strings = [[NSArray alloc]initWithObjects:@"a","b","c", nil];
NSString *a1 = [strings componentsJoinedByString:@","];
結果:
得到一個字符串 a1 = @"a,b,c”
7.在字符串中查找另一個字符串
//檢查方法調用字符串是否以參數字符串開頭
- (BOOL)hasPrefix:(NSString *)aString;
//檢查方法調用字符串是否以參數字符串結尾
- (BOOL)hasSuffix:(NSString *)aString;
//檢查方法調用字符串是否包含參數字符串
- (NSRange)rangeOfString:(NSString *)aString;
8.子字符串操作
//
NSString *string =@"John,Bob,Jane";
- (NSString *)substringFromIndex:(NSUInteger)from;
//得到開始地to個字符
- (NSString *)substringToIndex:(NSUInteger)to;
//得到從第幾個開始地,幾個字符
- (NSString *)substringWithRange:(NSRange)range;
9。刪除對象
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
NSMutableString *friends;
friends = [NSMutableString stringWithCapacity:52];
[friends appendString:@"James BethLynn Jack Evan"];
NSRange jackRange;
jackRange = [friends rangeOfString:@"Jack"];
jackRange.length++;//把後面的空格也去掉
[friends deleteCharactersInRange:jackRange];
NSLog(@"%@",friends);
return 0;
}