天天看點

iOS字元串常用操作集合

一。iOS 字元串截取

1.定義一個字元串a, 截取a 的某一個部分,複制給b, b必須是int型

  NSString *a = @"1.2.30";

    int  b= [[a substringWithRange:NSMakeRange(4,2)] intValue]; 

  NSLog(@"a:%@  \n",a  );

  NSLog(@"b:%d",b  );

Output : 2011-07-05 11:49:08.170 Q[4005:207]   a:1.2.30  

2011-07-05 11:49:08.172 Q[4005:207]            b:30

解析如下:substringWithRange: 專門截取字元串的一塊肉 

           NSMakeRange(4,2)    從第4個字元開始截取,長度為2個字元,(字元串都是從第0個字元開始數的哦~!)

             b = [a intValue]; 将 a 轉換為 整數型

       b = [a floatValue];   将 a 轉換為 小數型

       b = [a boolValue]; 将 a 轉換為 布爾型(true /  false)

       b = [a integerValue]; 将 a 轉換為 整數型

            b = [a longLongValue]; 将 a 轉換為 長整型

2。 字元串截取到第n位  (substringToIndex: n)(第n 位不算再内)

- (void)viewDidLoad

{

    NSString  *a = @"i like long dress";

  NSString *b = [a substringToIndex:4];

    NSLog(@"\n b: %@",b);

}

 b: i li

3。字元串從第n 位開始截取,直到最後 (substringFromIndex:n)(包括第 n 位)

- (void)viewDidLoad

{

    NSString  *a = @"i like long dress";

    NSString *b = [a substringFromIndex:4];

    NSLog(@"\n b: %@",b);

}

b: ke long dress

。NSMutableString  為可變的字元串

   NSString      為不可變的字元串

-(void)viewDidLoad

{

   NSMutableString *a = [[NSMutableString  alloc]initWithString:@"123456798"];

   NSLog(@" \n a:  %@\n",a);

   [a deleteCharactersInRange:NSMakeRange(1,2)];

   NSLog(@" \n a:  %@\n",a);

    [a release];

}

2011-07-05 20:59:34.169 Q[9069:207]   a: 123456798 

2011-07-05 20:59:34.171 Q[9069:207]   a: 1456798 

二。字元串替換

使用NSString *strUrl = [urlString stringByReplacingOccurrencesOfString:@" " withString:@""];可以去掉空格,注意此時生成的strUrl是autorelease屬性的,是以不必對strUrl進行release操作!

三。字元串搜尋(判斷相同字元串)

NSRange searchRange = [str rangeOfString:@"five"];     if (searchRange.location != NSNotFound) {         NSLog(@"搜尋 location  %d   %d",searchRange.location,searchRange.length);     }

四。字元串拼接

NSString* string; 

// 結果字元串

02

NSString* string1, string2; 

//已存在的字元串,需要将string1和string2連接配接起來

03

04

//方法1.

05

string = [NSString initWithFormat:@

"%@,%@"

, string1, string2 ];

06

07

//方法2.

08

string = [string1 stringByAppendingString:string2];

09

10

//方法3 .

11

string = [string stringByAppendingFormat:@

"%@,%@"

,string1, string2];

經常用的是第二種方法。

五。字元串分割

  1. NSString *nstring = @"美國,加拿大,澳洲,辛巴維(威),埃及";  
  2.     NSArray *array = [nstring componentsSeparatedByString:@","];  
  3.     for (int i = 0; i < [array count]; i++) {  
  4.         NSLog(@"string:%@", [array objectAtIndex:i]);  
  5.     }  

結果:

[cpp] view plaincopy

  1. 2012-06-14 11:49:10.443 NSString[2481:f803] string:美國  
  2. 2012-06-14 11:49:10.443 NSString[2481:f803] string:加拿大  
  3. 2012-06-14 11:49:10.443 NSString[2481:f803] string:澳洲  
  4. 2012-06-14 11:49:10.443 NSString[2481:f803] string:辛巴維(威)  
  5. 2012-06-14 11:49:10.444 NSString[2481:f803] string:埃及