2011-03-21 166 views
1
NSString *markdown = @"This is the *Markdown* syntax."; 
NSScanner *aScanner = [NSScanner scannerWithString:markdown]; 

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

输出:NSScanner的scanString:intoString似乎并没有工作

NO 

为什么我的输出事情是这样的?既然Markdown字符串有星号,它不应该是YES吗?如果它工作,我会得到YES两次,因为我在Markdown字符串中有两个星号?

回答

2

由于扫描器是从字符串开始处开始的,并且您在说下一个子字符串应该是@"*",但是您给它的字符串以@"T"开头。也许你想要-scanUpToString:intoString:而不是?

+0

谢谢。方法名称不太直观。 – Espresso 2011-03-21 07:09:42