【问题标题】:Get subString from a string with given indexes从具有给定索引的字符串中获取子字符串
【发布时间】:2012-10-30 01:47:42
【问题描述】:

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

这是我调用的方法

-(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 pointEnd point。如何从开始和结束索引获取 subString 类似返回[ str subStringWithRange:(start, end)];

【问题讨论】:

  • 打负分有什么意义?
  • 重点是您甚至没有尝试阅读 NSString 文档...但我没有给您这个负面观点...
  • 对.......所以整个文档将永远在我的脑海中:) nvrmind
  • @umar 文档可从 Xcode 菜单 Help->Documentation and API Reference 获得。因此,虽然“完整文档”可能并不总是在您的脑海中,但它始终触手可及。

标签: iphone objective-c cocoa-touch


【解决方案1】:

吹毛求疵...

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

...回答...

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

【讨论】:

    猜你喜欢
    • 2012-02-10
    • 2019-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    • 2023-03-27
    • 1970-01-01
    相关资源
    最近更新 更多