NSScanner的scanString:intoString似乎并没有工作
问题描述:
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字符串中有两个星号?
答
由于扫描器是从字符串开始处开始的,并且您在说下一个子字符串应该是@"*"
,但是您给它的字符串以@"T"
开头。也许你想要-scanUpToString:intoString:
而不是?
谢谢。方法名称不太直观。 – Espresso 2011-03-21 07:09:42