1

次のコードを使用して、文字列内の電子メールを検出しています。「536264846@gmail.com」などの純粋な番号プレフィックスを持つ電子メールを処理する場合を除いて、正常に機能します。このリンゴのバグを克服することは可能ですか?どんな助けでもありがたいです!

NSString *string = @"536264846@gmail.com";
NSError *error = NULL;
NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypeLink error:&error];
NSArray *matches = [detector matchesInString:string
                                     options:0
                                       range:NSMakeRange(0, [string length])];    
for (NSTextCheckingResult *match in matches) {
    if ([match.URL.scheme isEqualToString:@"mailto"]) {
        NSString *email = [match.URL.absoluteString substringFromIndex:match.URL.scheme.length + 1];
        NSLog(@"email :%@",email);

    }else{
        NSLog(@"[match URL] :%@",[match URL]);
    }

}

編集:ログの結果は次のとおりです:[一致するURL]:http: //gmail.com

4

1 に答える 1