0

コード スニペットは次のとおりです。

    unichar chars[] = {0x0030, 0x0031, 0x0032, 0x003B, 0x0E31};//the testString is "012;" plus a thai character
    NSString *testString = [[NSString alloc] initWithCharacters:chars length:5];
    NSLog(@"testString %@", testString);
    NSScanner *theScanner = [NSScanner scannerWithString:testString];
    NSString *result = nil;
    [theScanner scanUpToString:@";" intoString:&result];        
    //[theScanner scanUpToCharactersFromSet:[NSCharacterSet characterSetWithCharactersInString:@";"]          intoString:&result];

    NSLog(@"the result is %@", result);

scanUpToString の使用は失敗しましたが、scanUpToCharactersFromSet の使用は機能します。また、0x003B の後の文字が 0x0E31 でない場合 (たとえば、0x0030)、両方の API が機能します。したがって、scanUpToString にはいくつかの文字を扱うバグがあると思います。誰かがより良いアイデアを持っていますか? ありがとうございました。

4

0 に答える 0