0
This is the yahoo news rss feed
<p><a href="http://us.rd.yahoo.com/dailynews/rss/us/*http://news.yahoo.com/s/ap/20110521/ap_on_re_us/us_michelle_obama_west_point"><img src="http://d.yimg.com/a/p/ap/20110520/capt.53a8af4c675f421c8b7cba014c589d29-53a8af4c675f421c8b7cba014c589d29-0.jpg?x=130&y=97&q=85&sig=iOyBvkyg0rEKSK3hjlSsNA--" align="left" height="97" width="130" alt="First lady Michelle Obama, left, and Lt. Gen. David Huntoon, superintendent at the U.S. Military Academy, arrive in Washington Hall for a graduation banquet, Friday, May 20, 2011, in West Point, N.Y. (AP Photo/Mike Groll)" border="0" /></a>AP - First lady Michelle Obama urged more than 1,000 cadets Friday night on the brink of graduating to keep in mind the families of the soldiers they will lead.</p><br clear="all"/>

how can i extract the image source (http://d.yimg.com/a/p/ap/20110520/capt.53a8af4c675f421c8b7cba014c589d29-53a8af4c675f421c8b7cba014c589d29-0.jpg) from this string.

Halle
  • 3,584
  • 1
  • 37
  • 53
Aravindhan
  • 15,608
  • 10
  • 56
  • 71
  • possible duplicate of [extract specific string in NSString](http://stackoverflow.com/questions/3915146/extract-specific-string-in-nsstring) – jscs May 21 '11 at 17:15

1 Answers1

7

You can use NSScanner. Something like this:

NSString *src = nil;
NSString *newsRSSFeed = @"<p><a href=\"http://us.rd.yahoo.com/dailynews/rss/us/*http://news.yahoo.com/s/ap/20110521/ap_on_re_us/us_michelle_obama_west_point\"><img src=\"http://d.yimg.com/a/p/ap/20110520/capt.53a8af4c675f421c8b7cba014c589d29-53a8af4c675f421c8b7cba014c589d29-0.jpg?x=130&y=97&q=85&sig=iOyBvkyg0rEKSK3hjlSsNA--\" align=\"left\" height=\"97\" width=\"130\" alt=\"First lady Michelle Obama, left, and Lt. Gen. David Huntoon, superintendent at the U.S. Military Academy, arrive in Washington Hall for a graduation banquet, Friday, May 20, 2011, in West Point, N.Y. (AP Photo/Mike Groll)\" border=\"0\" /></a>AP - First lady Michelle Obama urged more than 1,000 cadets Friday night on the brink of graduating to keep in mind the families of the soldiers they will lead.</p><br clear=\"all\"/>";
NSScanner *theScanner = [NSScanner scannerWithString:newsRSSFeed];
// find start of IMG tag
[theScanner scanUpToString:@"<img" intoString:nil];
if (![theScanner isAtEnd]) {
    [theScanner scanUpToString:@"src" intoString:nil];
    NSCharacterSet *charset = [NSCharacterSet characterSetWithCharactersInString:@"\"'"];
    [theScanner scanUpToCharactersFromSet:charset intoString:nil];
    [theScanner scanCharactersFromSet:charset intoString:nil];
    [theScanner scanUpToCharactersFromSet:charset intoString:&src];
    // src now contains the URL of the img
}
NSLog(@"%@",src);
// --> http://d.yimg.com/a/p/ap/20110520/capt.53a8af4c675f421c8b7cba014c589d29-53a8af4c675f421c8b7cba014c589d29-0.jpg?x=130&y=97&q=85&sig=iOyBvkyg0rEKSK3hjlSsNA--
albertamg
  • 28,492
  • 6
  • 64
  • 71