如何正确减去字符串?

时间:2012-08-29 16:58:28

标签: objective-c nsstring substring nsrange

我在两个对象中有两个字符串:

<div align="center"><img src="http://farm9.staticflickr.com/8448/7882675644_76605a2a3d_b.jpg" border="0" alt="" /></div><

<img src="http://farm9.staticflickr.com/8425/7881940452_d2a8e898a3_o.png" border="0" alt="" /><br /><

我正在尝试将链接减去图像。

我通过使用对象方法获得链接:

NSMutableString *string = [NSMutableString stringWithString:description];

int left = [string rangeOfString:@"http://"].location;

int right = 0;

if ([string rangeOfString:@".jpg"].location != NSNotFound) {
    right = [string rangeOfString:@".jpg"].location;
}
else if ([string rangeOfString:@".png"].location != NSNotFound){
    right = [string rangeOfString:@".png"].location;
}


NSString *sub = [string substringWithRange:NSMakeRange(left, right)];

NSLog(@"%@",sub);

但问题是当我打印出我减去的东西时:

2012-08-29 18:53:30.716 MyApple[56335:c07] http://farm9.staticflickr.com/8448/7882675644_76605a2a3d_b.jpg" border="0" alt="" /></di
2012-08-29 18:53:30.717 MyApple[56335:c07] http://farm9.staticflickr.com/8425/7881940452_d2a8e898a3_o.png" bord

IMO i从http://减去.jpg或.png,但它无法正常工作。

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

NSMakeRange()的第二个参数是长度,所以你可能需要

NSString *sub = [string substringWithRange:NSMakeRange(left, right - left)];

您还应该看看NSRegularExpression