NSScanner的scanString:intoString似乎不起作用

时间:2011-03-21 06:50:32

标签: objective-c cocoa

NSString *markdown = @"This is the *Markdown* syntax.";
NSScanner *aScanner = [NSScanner scannerWithString:markdown];

if ([aScanner scanString:@"*" intoString:nil] == YES) {
    NSLog(@"YES");
}
else {
    NSLog(@"NO");
}

输出:

NO

为什么我的输出方式如此?不应该是YES,因为Markdown字符串有一个星号?如果要工作,我会得到YES两次,因为我在Markdown字符串中有两个星号?

1 个答案:

答案 0 :(得分:2)

因为扫描程序是从字符串的开头开始的,并且您说下一个子字符串应该是@"*",但是您给它的字符串以@"T"开头。也许你想要-scanUpToString:intoString:代替?