2013-07-28 4 views
0

출력 문자열이이 형식으로되어 있습니다. URL을 별도로 표시하고 콘텐츠, 설명을 별도로 표시 할 수 있도록 문자열의 형식을 지정해야합니다. 어떤 함수가 있나요? 그래서 쉽게 포맷 할 수 있습니까? 코드 :문자열 서식 지정

  NSLog(@"Description %@", string); 

출력 문자열은 :

2013-07-28 11:13:59.083 RSSreader[4915:c07] Description   
    http://www.apple.com/pr/library/2013/07/23Apple-Reports-Third-Quarter-Results.html?sr=hotnews.rss 
    Apple today announced financial results for its fiscal 2013 third quarter ended 
    June  29, 2013. The Company posted quarterly revenue of $35.3 billion and quarterly 
    net profit of $6.9 billion, or $7.47 per diluted share. 
    Apple sold 31.2 million iPhones, which set a June quarter record. 

답변

1

그런 다음, 문자열에서 URL을 추출 포맷 방식으로 표시되어야합니다.

URL을 추출하는 간단한 방법은 정규 표현식 (RegEX)입니다.

URL을 추출 후에는 아무것도로 교체 할 수 있습니다 : 설명 문자열은 줄 바꿈 (\ n)로 구분 https://stackoverflow.com/a/9587987/305135

+0

URL을 추출 했으므로 추출 된 URL을 myString과 비교하여 설명 만 표시하려면 어떻게해야합니까? – Siva

+0

문자열을 검색하고 [추출 된 url]을 [nothing]로 바꿉니다! – AVEbrahimi

+0

Objective C의 검색 및 바꾸기 기능이 있습니까? – Siva

0

경우,이 작업을 수행 할 수 있습니다 :

str = [str stringByReplacingOccurrencesOfString:extractedURL 
            withString:@""]; 

당신이 사용할 수

NSArray *items = [yourString componentsSeparatedByString:@"\n"]; 
0

정규식은 좋습니다.

그러나 목표 C에서 문자열 내 URL을 검색하는 기본 방법은 NSDataDetector입니다. NSDataDetector은 내부적으로 Regex를 사용합니다.

NSString *aString = @"YOUR STRING WITH URLs GOES HERE" 
NSDataDetector *aDetector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypeLink error:nil]; 
NSArray *theMatches = [aDetector matchesInString:aString options:0 range:NSMakeRange(0, [aString length])]; 
for (int anIndex = 0; anIndex < [theMatches count]; anIndex++) { 
    // If needed, Save this URL for Future Use. 
    NSString *anURLString = [[[theMatches objectAtIndex:anIndex] URL] absoluteString]; 

    // Replace the Url with Empty String 
    aTitle = [aTitle stringByReplacingOccurrencesOfString:anURLString withString:@""]; 
}