Object C學習筆記9-字符串NSMutableString


 

  NSMutableString類繼承自NSString,所以在NSString中的方法在NSMutableString都可以使用. NSMutableString和NSString的區別在於NSMutableString是動態的字符串,可以動態的添加,修改,刪除等。在前面提到了就和.NET中的string和StringBuilder的區別一樣。

 

  1. 添加字符串

  向字符串末尾添加字符串可以使用appendString方法和appendFormat方法。appendString方法主要用於向字符串末尾添加一個字符串;appendFormat 方法用於向字符串末尾添加多種類型的字符串,相當於.NET中的appendFormat 方法使用占位符。

NSMutableString *str=[[NSMutableString alloc] init];
        [str appendString:@"NSMutableString 字符串"];
        NSLog(@"appendString=%@",str);
        
        [str appendFormat:@"  --我的名字:%@ , 年齡 %d",@"Object C",10];
        NSLog(@"appendFormat: %@",str);
測試例子

  測試效果如下:

2014-02-15 12:30:21.476 ObjectC10[1233:303] appendString=NSMutableString 字符串
2014-02-15 12:30:21.478 ObjectC10[1233:303] appendFormat: NSMutableString 字符串  --我的名字:Object C , 年齡 10
測試結果

 

  2. 刪除字符串

  在NSMutableString中使用stringWithString方法來初始化字符串;

  使用rangeOfString獲取某個字符串在原字符串的位置以及長度;

  使用deleteCharactersInRange方法刪除特定位置的字符串

NSMutableString *str=[NSMutableString stringWithString:@"Object C 之NSMutableString類"];
        NSLog(@"stringWithString= %@ ",str);
        
        NSRange range= [str rangeOfString:@"Mutable"];
        NSLog(@"Location=%d",range.location);
        NSLog(@"length=%d",range.length);
        
        [str deleteCharactersInRange:range];
        NSLog(@"deleteCharactersInRange=%@",str);
測試例子

  測試效果如下:

2014-02-15 12:45:34.078 ObjectC10[1272:303] stringWithString= Object C 之NSMutableString類 
2014-02-15 12:45:34.080 ObjectC10[1272:303] Location=12
2014-02-15 12:45:34.080 ObjectC10[1272:303] length=7
2014-02-15 12:45:34.080 ObjectC10[1272:303] deleteCharactersInRange=Object C 之NSString類
測試結果

 

  3. 插入字符串

  在NSMutableString中在某個字符串特定位置添加一個字符串使用insertString方法;

NSMutableString *str=[NSMutableString stringWithString:@"Obejct C"];
        NSLog(@"%@",str);
        NSString *str2=@"學習";
        [str insertString:str2 atIndex:6];
        NSLog(@"insertString= %@",str);
測試例子

  測試效果如下:

2014-02-15 12:53:14.517 ObjectC10[1294:303] Obejct C
2014-02-15 12:53:14.519 ObjectC10[1294:303] insertString= Obejct學習 C
測試結果

 

  4.字符串拷貝

  因為NSMutableString是引用類型,也就是指針類型,當一個變量賦值給另外一個變量的時候,兩者其實是指向的同一個地址。

//創建字符串
        NSMutableString *str1 = [NSMutableString stringWithString: @"字符串1"];
        NSMutableString *str2;
        
        //字符串賦值
        str2 = str1;
        
        [str2 appendString: @" 和字符串2"];
        
        NSLog (@"str1 = %@", str1);
        
        NSLog (@"str2 = %@", str2);
測試例子

  測試效果如下:

2014-02-15 12:55:33.667 ObjectC10[1308:303] str1 = 字符串1 和字符串2
2014-02-15 12:55:33.683 ObjectC10[1308:303] str2 = 字符串1 和字符串2
測試結果

 

  5. 字符串類型轉換

  intValue用於將字符串類型轉換為int 類型

  integerValue用於將字符串類型轉換為NSInteger 類型

  floatValue用於將字符串類型轉換為float類型

  doubleValue用於將字符串類型轉換為double類型

NSString *str1=@"123";
        int value1=[str1 intValue];
        NSLog(@"轉化為int類型: str1=%d",value1);
        
        NSString *str2=@"1234";
        NSInteger value2=[str2 integerValue];
        NSLog(@"轉化為NSInteger類型: str2=%i",value2);
        
        NSString *str3=@"3.1415";
        float value3=[str3 floatValue];
        NSLog(@"轉換為float類型: str3=%0.4f",value3);
        
        double value4=[str3 floatValue];
        NSLog(@"轉換為double類型: str3=%0.4f",value4);
測試例子

  測試效果如下:

2014-02-15 13:07:00.070 ObjectC10[1378:303] 轉化為int類型: str1=123
2014-02-15 13:07:00.094 ObjectC10[1378:303] 轉化為NSInteger類型: str2=1234
2014-02-15 13:07:00.094 ObjectC10[1378:303] 轉換為float類型: str3=3.1415
2014-02-15 13:07:00.095 ObjectC10[1378:303] 轉換為double類型: str3=3.1415
測試結果

  如果字符串格式有問題,則轉換的時候會報異常。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM