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字符串中有两个星号?
答案 0 :(得分:2)
因为扫描程序是从字符串的开头开始的,并且您说下一个子字符串应该是@"*"
,但是您给它的字符串以@"T"
开头。也许你想要-scanUpToString:intoString:
代替?