2011-07-01 4 views
0

웹 사이트에서 6 장의 사진을 표시하는 앱을 제작하고 있습니다. 다른 5 개 이미지 'URL이 동일한 문자열로 사이문자열의 여러 부분 문자열

NSError *error = nil; 
NSString *deviantStringPopular; 
deviantStringPopular = [NSString stringWithContentsOfURL:[NSURL  URLWithString:@"http://browse.deviantart.com/?order=24"] 
             encoding:NSISOLatin1StringEncoding 
              error:&error]; 
NSString *popularContent; 
NSRange popularURLRange1 = [deviantStringPopular rangeOfString:@"super_img=\""]; 
NSRange popularURLRange2 = [deviantStringPopular rangeOfString:@"\" super_w"]; 
int lengt = popularURLRange2.location - popularURLRange1.location -  popularURLRange1.length; 
int location = popularURLRange1.location + popularURLRange1.length; 
NSRange endRange; 
endRange.location = location; 
endRange.length = lengt; 
popularContent = [deviantStringPopular substringWithRange:endRange]; 
NSLog(@"%@", popularContent); 

문제가 있습니다 : 내가 말한 웹 사이트의 소스 코드를 추출하고이 코드로 6 개 사진의 첫 번째를 해낼 수 있도록이 그림은 시간이 지남에 따라 변경 첫번째. 첫 번째 이미지의 URL이 성공적으로로드되고 두 번째 이미지가로드되고 다른 변수에 저장되는 등의 방식으로 첫 번째 이미지의 URL이 무시 될 수 있습니까? 사전

+0

_relevant_ 태그 (예 : 코코아)를 알려주십시오. – sehe

+0

은 iOS 또는 OS X 용입니까? –

+0

총 댓글 수는 있지만 저작물에 대한 토론의 SO 가이드 라인은 무엇입니까? – Perception

답변

0

에서

덕분에 문자열에서 6 개 URL을 얻을, 당신이 루프를 사용하여 시도 할 수 다른 변수에로드합니다. 반복 할 때마다 하위 문자열을 찾아 변수에 저장 한 후 문자열의 시작 부분에서 찾은 하위 문자열의 끝까지 범위를 설정합니다. stringByReplacingCharactersInRange을 사용하여 이미 검색된 문자열 부분을 지울 수 있으므로 다음 번에 문자열을 검색하면 다음 URL을 찾을 수 있습니다.

0

RegEx를 사용하는 방법을 알고있는 쉬운 해결책은 RegexKit입니다. 그러면 각 URL은 캡처 그룹 일 수 있습니다.

+0

허, 이것에 대해 아직 들어 보지 못했지만, 나는 목표 C를 처음 접해 보았습니다. 조언을 해주셔서 감사합니다. – endFinity

관련 문제