从具有给定索引的字符串中获取subString

时间:2012-11-09 17:41:37

标签: iphone objective-c cocoa-touch

我正在尝试从字符串中获取SubString

这是我打电话的方法

-(NSString *)subStringBetweenStrings:(NSString*)str open:(NSString*)open close:(NSString *)close
{
    if ( str == nil || open == nil || close == nil )
        return nil;

    int start = [str rangeOfString:open].location;
    if (start != -1)
    {
        int end = [str rangeOfString:close].location;
        if ( end != -1)
        {
            return [str substringFromIndex:start]; // DONT WANT
        }
    }
    return nil;       
}

我有start point,我有End point。如何从开始和结束索引获取subString 类似于返回[ str subStringWithRange:(start, end)];

1 个答案:

答案 0 :(得分:5)

挑剔...

  • int start替换为NSUInteger,这就是定义NSRange location的方式,
  • 不要将start-1进行比较,而应与NSNotFound
  • 进行比较

......回答......

return [str substringWithRange:NSMakeRange( start, end - start + 1 )]