截取<a href="http://weibo.com/" rel="nofollow">微博 weibo.com</a>
中的微博 weibo.com
这一段字符串。代码如下:
- (void)setSource:(NSString *)source
{
//字符串示例 <a href="http://weibo.com/" rel="nofollow">微博 weibo.com</a>
//范围
NSRange range = NSMakeRange(0, 0);
//获取要截取的字符串的起始字符的位置
range.location = [source rangeOfString:@">"].location + 1;
//反向检索NSBackwardsSearch
range.length = [source rangeOfString:@"<" options:NSBackwardsSearch].location - range.location;
_source = [source substringWithRange:range];
}
得出的结构符合预期,但是控制台里探出两条内容一样的警告:
2015-08-18 11:16:57.402 weibo[2568:69911] -[__NSCFConstantString substringWithRange:]: Range {9223372036854775808, 18446744073709551615} out of bounds; string length 0
2015-08-18 11:16:57.403 weibo[2568:69911] -[__NSCFConstantString substringWithRange:]: Range {9223372036854775808, 18446744073709551615} out of bounds; string length 0
我看了几遍,发现如果将_source = [source substringWithRange:range];
这一行注释掉,就没有警告了,但是我觉得range没有求错啊,奇了怪了。
我这没有重现…… 用的是你的代码:
控制台输出
微博 weibo.com
,没有warning……