2011-03-21 2 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이 아니어야합니까? 그리고 그것이 작동한다면 나는 Markdown 문자열에 두 개의 별표가 있기 때문에 두번 YES을 얻을 수 있습니까?

답변

2

문자열의 시작 부분에서 스캐너가 시작되고 다음 하위 문자열이 @"*"이어야한다고 지정했으나 지정한 문자열이 @"T"으로 시작됩니다. 어쩌면 -scanUpToString:intoString:을 대신할까요?

+0

감사합니다. 메서드 이름은 그리 직관적이지 않습니다. – Espresso

관련 문제