2011-03-21 163 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