天天看點

NSString與NSMutableString用法

//==========字元串的聲明與初始化==========

       //第一種 建立常量字元串 這段代碼的含義其實就是附一個常量給str,該部分由系統自動管理,不需要release釋放,是會autorelease的

          NSString * str1 =@"Hello World";

        NSLog(@"第一種建立常量字元串:%@",str1);

        //第二種 建立空字元串,并指派。

        NSString * str2 =[[NSStringalloc]init];

        str2 = @"Hello World";

        NSLog(@"第二種建立空字元串,給予指派:%@",str2);

        [str2release];

        //第三種使用initWithString方法

        NSString * str3 = [[NSStringalloc]initWithString:@"Hello World"];

        NSLog(@"第三種使用initWithString方法:%@",str3);

        [str3release];

       //第四種用标準C建立字元串:(initWithCString)

        //encoding字元串的編碼方式

        char * strTemp ="你好,世界";

        NSString * str4 =[[NSStringalloc]initWithCString:strTemp encoding:NSUTF8StringEncoding];

        NSLog(@"第四種用标準C建立字元串:(initWithCString)%@",str4);

        [str4release];

        //第五種建立格式化字元串(stringWithFormat:)//類方法由系統回收記憶體

        NSString * str5 =[NSStringstringWithFormat:@"第%d種建立格式化字元串%@",5,str4];

        NSLog(@"%@",str5);

        //第六種字元串轉換utf-8格式參數char*類型 //類方法由系統回收記憶體

        NSString * str6 =[NSStringstringWithUTF8String:"你好世界"];

        NSLog(@"%@",str6);

       //第七種字元串合并建立新字元串 //類方法由系統回收記憶體

        int i =1;

        char *c ="geek";

        NSString * temp =@"臨時字元串";

        //在字元串strTemp的後面添加int i與 char * c組成一個新的字元串  此時c應為英文如果為中文将其轉化為NSString将發生亂碼

        NSString * str7 =[tempstringByAppendingFormat:@"%d %s",i,c];

        NSLog(@"%@",str7);

//==========字元串的方法==========

        //1.判斷字元串是否相等[區分大小寫](isEqualToString  相同時傳回1不同時傳回0)

        NSString * str01 =@"This is a string !";

        NSString * str02 =@"This is a String !";

        BOOL result01 =[str01isEqualToString:str02];

        NSLog(@"1.判斷字元串是否相等result01:%d",result01);

        //2.字元串大小進行比較(compare方法  [區分大小寫])

        NSString * str03 =@"This is a String !";

        NSString * str04 =@"This is a String !";

        BOOL result02 =[str03compare:str04] ==NSOrderedSame;

        BOOL result03 =[str03compare:str04] ==NSOrderedAscending;//NSOrderedAscending判斷兩對象值的大小(按字母順序進行比較,str04大于str03為真) //Ascending 升序

        BOOL result04 =[str03compare:str04] ==NSOrderedDescending;//NSOrderedDescending判斷兩對象值的大小(按字母順序進行比較,str04小于str03為真) //降序

        NSLog(@"字元串大小進行比較result02:%d",result02);

        NSLog(@"字元串大小進行比較result03:%d",result03);

        NSLog(@"字元串大小進行比較result04:%d",result04);

        //3.判斷字元串是否以特定字元串開頭或結尾

        //hasPrefixe 比對字元串頭

       //hasSuffix 比對字元串的尾

        NSString * str05 =@"This is a String !";

        if ([str05hasPrefix:@"This"]) {

            NSLog(@"字元串str05以This開頭");

        }

        if ([str05hasSuffix:@"!"]) {

            NSLog(@"字元串str05以!結尾");

        }

        //4.不考慮大小寫比較字元串

        NSString * str06 =@"This is a String !";

        NSString * str07 =@"this is a String !";

        BOOL result05 = [str06caseInsensitiveCompare:str07] ==NSOrderedSame; //NSOrderedDescending判斷兩對象值的大小(按字母順序進行比較,str07小于str06為真)  NSOrderedAscending判斷兩對象值的大小(按字母順序進行比較,str07大于str06為真)

        NSLog(@"4.不考慮大小寫比較字元串result05%d",result05);

        BOOL result06 = [str06compare:str07options:NSCaseInsensitiveSearch |NSNumericSearch]==NSOrderedSame;//NSCaseInsensitiveSearch:不區分大小寫比較 NSLiteralSearch:進行完全比較,區分大小寫 NSNumericSearch:比較字元串的字元個數,而不是字元值。

        NSLog(@"//4.不考慮大小寫比較字元串result06%d",result06);

        //5.輸出大寫或者小寫字元串 

        NSString * str08 =@"this is a String !";

        NSString * str09 =@"Geek!";

        NSLog(@"%@",[str08uppercaseString]);//大寫

        NSLog(@"%@",[str09lowercaseString]);//小寫

        NSLog(@"%@",[str08capitalizedString]);//字元串中每個首字母都大寫

        //6.查找字元串某處是否包含其它字元串 (rangOfString)

        NSString * str10 =@"This is a String";

        NSString * str11 =@"is";

        NSRange range =[str10rangeOfString:str11];

        NSUInteger location =range.location; 

        NSUInteger leight =range.length;

        NSString *str12 =[[NSStringalloc]initWithString:[NSStringstringWithFormat:@"Location:%ld Leight:%ld",location,leight]];

        NSLog(@"%@",str12);

        //rangeOfString前面的參數是要被搜尋的字元串,後面的是要搜尋的字元

        //NSNotFound表示請求操作的某個内容或者item沒有發現,或者不存在

        if ([str10rangeOfString:str11].location!=NSNotFound) {

            NSLog(@"str10中有str11");

        }

       //7.從字元串的開頭一直截取到指定的位置,但不包括該位置的字元(substringToIndex)

        NSString * str13 =@"This is a String";

        NSString * str14 =[str13substringToIndex:3];

        NSLog(@"7.從字元串的開頭一直截取到指定的位置,但不包括該位置的字元 str14:%@",str14);

        //8.以指定位置開始(包括指定位置的字元),并包括之後的全部字元

        NSString * str15 =@"This is a String";

        NSString * str16 =[str15substringFromIndex:3];

        NSLog(@"8.以指定位置開始(包括指定位置的字元),并包括之後的全部字元 str16:%@",str16);

        //9.按照所給出的位置,長度,任意地從字元串中截取子串

        NSString * str17 =@"This is a String";

        NSString * str18 =[str17substringWithRange:NSMakeRange(0,4)];

        NSLog(@"9.按照所給出的位置,長度,任意地從字元串中截取子串:%@",str18);

       //10.把一個字元串接在另一個字元串的末尾

        NSMutableString * str19 = [[NSMutableStringalloc]initWithString:@"This is a NSMutableString"];

        [str19appendString:@",add"];

        [str19appendFormat:@"%@",[NSStringstringWithFormat:@"%d",2]];

        NSLog(@"10.把一個字元串接在另一個字元串的末尾:%@",str19);

        //11.在指定位置插入字元串

        NSMutableString * str20 = [[NSMutableStringalloc]initWithString:@"This is a String"];

        [str20insertString:@"Hi"atIndex:0];

        NSLog(@"11.在指定位置插入字元串:%@",str20);

       //12.setString方法

        NSMutableString * str21 = [[NSMutableStringalloc]initWithString:@"This is a String"];

        [str21setString:@"hello"];

        NSLog(@"12.setString方法:%@",str21);

        //13.用指定字元串替換字元串中某指定位置、長度的字元串

        NSMutableString * str22 =[[NSMutableStringalloc]initWithString:@"This is a String"];

        [str22replaceCharactersInRange:NSMakeRange(0,4)withString:@"hello"];

        NSLog(@"13.用指定字元串替換字元串中某指定位置、長度的字元串:%@",str22);

       //14.擴充路徑 将路徑中的代字元擴充成使用者主目錄(~)或指定使用者的主目錄(~user)

        NSString * str23 =@"~/geek/text.txt";

        NSString * str24 =[str23stringByExpandingTildeInPath];

        NSLog(@"14.擴充路徑:%@",str24);

       NSLog(@"str23:%@",[str24stringByAbbreviatingWithTildeInPath]);

        //15.檔案擴充名

        NSString * str25 =@"~/geek/text.text";

        NSLog(@"15.檔案擴充名:%@",[str25 pathExtension]);

NSString 常用方法總結

+(id)stringWithContentsOfFile:path encoding:enc err 建立一個新字元串并将其設定為 path 指定檔案的内容,使用字元編碼 enc,在err 上傳回錯誤
+(id)stringWithContentsOfURL:url encoding:enc err 建立一個新字元串并将其設定為 url 所指向的内容,使用字元編碼 enc,在err 上傳回錯誤
+(id)string 建立一個新的空字元串
+(id)stringWithString:nsstring 建立一個新字元串,将其内容設定為 nsstring 内容
-(id)initWithString:nsstring 将字元串内容設定為 nsstring 内容
-(id)initWithContentsOfFile:path encoding:enc error:err 将字元串設定為 path 指定檔案的内容,使用字元編碼 enc,在err 上傳回錯誤
-(id)initWithContentsOfURL:url encoding:enc error:err 将字元串設定為 url 所指向的内容,使用字元編碼 enc,在err 上傳回錯誤
-(UNSigned int)length 傳回字元串中字元數目
-(unichar)characterAtindex:i 傳回索引i 所在UniCode 字元
-(NSString*)substringFromIndex:i 傳回從索引 i 開始到結尾的子字元串
-(NSString*)substringWithRange:range 根據指定範圍傳回子字元串
-(NSString*)substringToIndex:i 傳回從字元串開始到 索引 i 的子字元串
-(NSComparator*)caseInsensitiveCompare:nsstring 比較兩個字元串大小,忽略大小寫
-(NSComparator*)compare:nsstring 比較兩個字元串大小
-(BOOL)hasPrefix:nsstring 測試字元串是否以 nsstring 開始
-(BOOL)hasSuffix:nsstring 測試字元串是否以 nsstring 結尾
-(BOOL)isEqualToString:nsstring 測試兩個字元串是否相等
-(NSString*)capitalizedString 傳回字元串,串中的每個單詞的首字母大寫,其餘字母小寫
-(NSString*)lowercaseString 傳回轉換為小寫的字元串
-(NSString*)uppercaseString 傳回轉換為大寫的字元串
-(const char*)UTF8String 傳回UTF8編碼格式的字元串
-(double)doubleValue 傳回轉換為double 類型的字元串
-(float)floatValue 傳回轉換為 float 類型的字元串
-(NSInteger)integerValue 傳回轉換為 NSInteger 類型的新字元串
-(int)intvalue 傳回轉換為 int 的字元串

NSMutableString 可修改字元串常用方法

+(id)stringWithCapacity:size 建立一個字元串,容量為size大小
-(id)initWithCapacity:size 初始化一個字元串,容量為size
-(void)setString:nsstring 将字元串設定為 nsstring
-(void)appendString:nsstring 在字元串末尾追加字元串 nsstring
-(void)deleteCharatersInRange:range 删除指定range 中的字元
-(void)insertString:nsstring atIndex:i 以索引 i 為起始位置插入 nsstring
-(void)replaceCharatersInRange;range withString:nsstring 使用 nsstring 替換 range 指定的字元
-(void)replaceOccurrencesOfString:nsstring withString:nsstring2 options:opts range:range 根據選項 opts ,使用指定 range 中的nsstring2 替換所有的 nsstring

下載下傳連結:http://download.csdn.net/detail/u013252054/6794995