获取双引号之间的每个子字符串并将其放入数组的最佳方法是什么?
例如,如果字符串(NSString)是:
@"abcd \"efgh\" ijklm \"no\" p \"qrst\" uvwx \"y\" z"
我想要的结果是:
{@"efgh", @"no", @"qrst", @"y"}
作为一个 NSArray。
最佳答案
这应该让你开始:
NSString *str = @"abcd \"efgh\" ijklm \"no\" p \"qrst\" uvwx \"y\" z";
NSMutableArray *target = [NSMutableArray array];
NSScanner *scanner = [NSScanner scannerWithString:str];
NSString *tmp;
while ([scanner isAtEnd] == NO)
{
[scanner scanUpToString:@"\"" intoString:NULL];
[scanner scanString:@"\"" intoString:NULL];
[scanner scanUpToString:@"\"" intoString:&tmp];
if ([scanner isAtEnd] == NO)
[target addObject:tmp];
[scanner scanString:@"\"" intoString:NULL];
}
for (NSString *item in target)
{
NSLog(@"%@", item);
}
关于objective-c - Objective-C : Get Substring between Double Quotes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10679444/