我有一个字符串,它基本上是一个字符串,在某些区域有额外的空格,以便在显示字符串时进行格式化。所以字符串看起来像
6:00 PM
6:00 PM 4:00 AM
6:00 PM 4:00 AM 12:00 PM
6:00 pm 4:00 AM 12:00 PM 1:00 AM
我想我可以使用 NSScanner 通过 @"M" 解析字符串,因为有时时间之间有两个空格,有时是一个空格,等等。所以我所做的是:
NSScanner *theScanner = [NSScanner scannerWithString:theString];
NSString *separatorString = @"M";
NSString *container;
NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:_lastIndexPath.row];
while ([theScanner isAtEnd] == NO) {
[theScanner scanUpToString:separatorString intoString:&container];
[array addObject:container];
[theScanner setScanLocation:[theScanner scanLocation] + 1];
}
问题是我没有在我的容器对象中获得 M 因为它扫描到但它不包含分隔符字符串。我应该在添加之前手动创建一个新的 NSString 吗
[array addObject:[NSString stringWithFormat:%@M", container]];
或者有没有更好的方法在这种情况下使用 NSScanner?我以前真的没有使用过 NSScanner。谢谢。