다른 웹 브라우저처럼 작동하는 웹 브라우저를 만들고 있습니다.문자열이 Google 검색 또는 URL인지 확인하는 방법은 무엇입니까?
자유형 텍스트 인 "vasdfygvaosfh"를 입력하면 Google 검색이 수행됩니다.
URL 구조가 "abc.com"인 텍스트를 입력하면 새 페이지가 열립니다.
이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 나는 점의 유무에 관한 if 문을 몇 개 사용해야할까요? " 선물이나 선물?
다른 웹 브라우저처럼 작동하는 웹 브라우저를 만들고 있습니다.문자열이 Google 검색 또는 URL인지 확인하는 방법은 무엇입니까?
자유형 텍스트 인 "vasdfygvaosfh"를 입력하면 Google 검색이 수행됩니다.
URL 구조가 "abc.com"인 텍스트를 입력하면 새 페이지가 열립니다.
이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 나는 점의 유무에 관한 if 문을 몇 개 사용해야할까요? " 선물이나 선물?
나는 문자열이 유효한 URL인지 확인이 코드 (NSString
의 범주를) 사용
- (BOOL) isValidURLString
{
BOOL result = NO;
if (!self.length)
return result;
NSError *error = NULL;
NSDataDetector *urlDetector = [NSDataDetector dataDetectorWithTypes: NSTextCheckingTypeLink error: &error];
NSUInteger numberOfMatches = [urlDetector numberOfMatchesInString: self
options: 0
range: NSMakeRange(0, self.length)];
if (!error && numberOfMatches > 0)
result = YES;
return result;
}
어쨌든 NSURL로 변환해야 할 것입니다. 전체 문자열이 URL이 아니면 true를 반환하지만 변환은 실패합니다. [NSURL URLWithString : string]이 nil을 반환하는지 확인하는 것이 더 합리적입니다. 발견되면이를 검색으로 처리하고 URL로 처리하십시오. – dgatwood
당신은 시도 할 수있는 regex
같이 :
- (BOOL)isValidURL:(NSString *)candidate{
NSString *urlRegEx = @"(http|https)://((\\w)*|([0-9]*)|([-|_])*)+([\\.|/]((\\w)*|([0-9]*)|([-|_])*))+";
NSPredicate *urlTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", urlRegEx];
return [urlTest evaluateWithObject:candidate];
}
이 [링크]를 참조하십시오 (http://stackoverflow.com/questions/28079123/how-to-check-validity-of-url-in-swift) 기본적으로 같은 질문에 대해 – Florensvb