NSScanner类参考

  1. NSString *string = @"Product: Acme Potato Peeler; Cost: 0.98 73\nProduct: Chef Pierre Pasta Fork; Cost: 0.75 19\nProduct: Chef Pierre Colander; Cost: 1.27 2\n";  
  2.    
  3. NSCharacterSet *semicolonSet;  
  4. NSScanner *theScanner;  
  5.    
  6. NSString *PRODUCT = @"Product:";  
  7. NSString *COST = @"Cost:";  
  8.    
  9. NSString *productName;  
  10. float productCost;  
  11. NSInteger productSold;  
  12.    
  13. semicolonSet = [NSCharacterSet characterSetWithCharactersInString:@";"];  
  14. theScanner = [NSScanner scannerWithString:string];  
  15.    
  16. while ([theScanner isAtEnd] == NO)  
  17. {  
  18.     if ([theScanner scanString:PRODUCT intoString:NULL] &&  
  19.         [theScanner scanUpToCharactersFromSet:semicolonSet  
  20.             intoString:&productName] &&  
  21.         [theScanner scanString:@";" intoString:NULL] &&  
  22.         [theScanner scanString:COST intoString:NULL] &&  
  23.         [theScanner scanFloat:&productCost] &&  
  24.         [theScanner scanInteger:&productSold])  
  25.     {  
  26.         NSLog(@"Sales of %@: $%1.2f", productName, productCost * productSold);  
  27.     }  
  28. }  

 

 

 

 

 

Scans the string until a given string is encountered, accumulating characters into a string that’s returned by reference.

(从当前位置开始,根据指定的字符串扫描,直到找到指定的字符串停止(不不会指定的字符串),返回从当前位置开始到指定字符串之间的字符串,并赋值给(stringValue)这个参数)

- (BOOL)scanUpToString:(NSString *)stopString intoString:(NSString **)stringValue

 

 

Scans a given string, returning an equivalent string object by reference if a match is found.

(跳过指定的字符串) stringValue中的值和string 中的一样

- (BOOL)scanString:(NSString *)string intoString:(NSString **)stringValue

你可能感兴趣的:(NSScanner类参考)