간단한 NSString 문장에서 URL을 가져 오려고합니다. 이를 위해 다음 코드에서 NSDataDetector를 사용합니다.NSTextCheckingTypeLink가있는 NSDataDetector가 URL과 PhoneNumbers를 감지합니다!
NSString *string = @"This is a sample of a http://abc.com/efg.php?EFAei687e3EsA sentence with a URL within it and a number 097843.";
NSDataDetector *linkDetector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypeLink error:nil];
NSArray *matches = [linkDetector matchesInString:string options:0 range:NSMakeRange(0, [string length])];
for (NSTextCheckingResult *match in matches) {
if ([match resultType] == NSTextCheckingTypeLink) {
NSString *matchingString = [match description];
NSLog(@"found URL: %@", matchingString);
}
}
그 결과 URL과 번호를 찾습니다. 번호가 전화 번호로 감지되었습니다. 번호 :
found URL: http://abc.com/efg.php?EFAei687e3EsA
found URL: tel:097843
버그입니까? 아무도 그 전화 번호없이 URL을 얻는 방법을 말해 줄 수 있습니까?
은 그것을 얻었다! 전화 번호가 표시되지 않게하려면 처음 7자를 확인합니다. NSString * httpString = [aString substringWithRange : NSMakeRange (0,7)]; if ([httpString isEqualToString : @ "http : //"]) { // 내 코드 } – user689081
전화 번호 확인을위한 NSTextCheckingTypePhoneNumber라는 또 다른 NSTextCheckingType이 있기 때문에 정말 이상합니다. – an0