从iphone中的字符串中获取子字符串

时间:2013-05-16 10:19:26

标签: ios objective-c nsstring nsrange

我有一个像这样的字符串

<img alt=\"Marco Bueno\" src=\"http://u.goal.com/136600/136687_thumb.jpg\" style=\"float: left;margin:0 10px 10px 10px;\" title=\"Marco Bueno\" /><p style=\"float:left;\">Herrera is currently on national team duty representing the U-23 side that has already made history at the Toulon Tournament, while Bueno won the U-17 World Cup in 2011</p>

我想从此字符串中获取“src”(http://u.goal.com/136600/136687_thumb.jpg)。我怎样才能以动态的方式得到它。

谢谢!

3 个答案:

答案 0 :(得分:1)

你可以像这样使用你的网址...

NSRange divRange = [dateString rangeOfString:@"src=\"" options:NSCaseInsensitiveSearch];
    if (divRange.location != NSNotFound)
    {
        NSRange endDivRange;

        endDivRange.location = divRange.length + divRange.location;
        endDivRange.length   = [dateString length] - endDivRange.location;
        endDivRange = [dateString rangeOfString:@".jpg" options:NSCaseInsensitiveSearch range:endDivRange];

        if (endDivRange.location != NSNotFound)
        {
            divRange.location += divRange.length;
            divRange.length  = endDivRange.location - divRange.location + endDivRange.length;


            NSLog(@"BinarySecurityToken : %@",[dateString substringWithRange:divRange]);
        }
    }

输出: http://u.goal.com/136600/136687_thumb.jpg

答案 1 :(得分:0)

您可以获得两个String之间的String

-(NSString*)stringBetweenString:(NSString*)start andString:(NSString)end {
    NSRange startRange = [self rangeOfString:start];
    if (startRange.location != NSNotFound) {
        NSRange targetRange;
        targetRange.location = startRange.location + startRange.length;
        targetRange.length = [self length] - targetRange.location;   
        NSRange endRange = [self rangeOfString:end options:0 range:targetRange];
        if (endRange.location != NSNotFound) {
           targetRange.length = endRange.location - targetRange.location;
           return [self substringWithRange:targetRange];
        }
    }
    return nil;
}

答案 2 :(得分:0)

使用此:

NSString *aString = @"<img alt=\"Marco Bueno\" src=\"http://u.goal.com/136600/136687_thumb.jpg\" style=\"float: left;margin:0 10px 10px 10px;\" title=\"Marco Bueno\" /><p style=\"float:left;\">Herrera is currently on national team duty representing the U-23 side that has already made history at the Toulon Tournament, while Bueno won the U-17 World Cup in 2011</p>";
NSRange r1 =[aString rangeOfString:@"src=\""];
NSRange r2 =[aString rangeOfString:@"\" style"];

NSRange rSub = NSMakeRange(r1.location + r1.length, r2.location - r1.location - r1.length);

NSString *subString = [aString substringWithRange:rSub];

希望它对你有所帮助。