NSScanner这个类,用于在字符串中扫描指定的字符。可以在创建NSScanner时指定它的string属性,然后scanner会按照要求从头到尾地扫描这个字符串中的每个字符。扫描动作会使扫描仪从头到尾在字符串中移动,直到扫描完整个字符串或扫描到指定的内容。
扫描停止后,扫描仪的位置并不会被置为字符串开始的位置。下一次的扫描操作将会从上一次扫描停止的位置开始。在必要的情况下可以手动操作.scanLocation来指定扫描开始的位置。
所以可以用来截取所需要的字符串
NSString *string = @" a string from charater A to and from scanner to for test";
NSScanner *scanner = [[NSScanner alloc] initWithString:string];
NSString *textStr = nil;
NSMutableArray *muArr = [NSMutableArray array];
while ([scanner isAtEnd] == NO) {
//找到截取的开始位置
[scanner scanUpToString:@"from" intoString:nil];
//找到截取的结束位置
[scanner scanUpToString:@"to" intoString:&textStr];
NSLog(@"textstr=%@",textStr);
[muArr addObject:textStr];
}
NSLog(@"%ld",scanner.scanLocation);
}