Jak wykrywać adresy e-mail w dowolnych łańcuchach
Używam następującego kodu do wykrycia wiadomości e-mail w ciągu. Działa dobrze, z wyjątkiem obsługi wiadomości e-mail z prefiksem czystego numeru, takich jak „[email protected]”. Czy można pokonać ten błąd jabłka? Każda pomoc zostanie doceniona!
NSString *string = @"[email protected]";
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]);
}
}
Edytować: wynik dziennika to: [dopasuj adres URL]:http://gmail.com