NSScanner类参考

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";
 
NSCharacterSet *semicolonSet;
NSScanner *theScanner;
 
NSString *PRODUCT = @"Product:";
NSString *COST = @"Cost:";
 
NSString *productName;
float productCost;
NSInteger productSold;
 
semicolonSet = [NSCharacterSet characterSetWithCharactersInString:@";"];
theScanner = [NSScanner scannerWithString:string];
 
while ([theScanner isAtEnd] == NO)
{
    if ([theScanner scanString:PRODUCT intoString:NULL] &&
        [theScanner scanUpToCharactersFromSet:semicolonSet
            intoString:&productName] &&
        [theScanner scanString:@";" intoString:NULL] &&
        [theScanner scanString:COST intoString:NULL] &&
        [theScanner scanFloat:&productCost] &&
        [theScanner scanInteger:&productSold])
    {
        NSLog(@"Sales of %@: $%1.2f", productName, productCost * productSold);
    }
}

 

 

 

 

 

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

你可能感兴趣的:(Scanner)