在Objective-C中使用偏移量和使用子string获取NSString中字符的索引

我有一个string!

NSString *myString=[NSString stringWithFormat:@"This is my lovely string"]; 

我想要做的是:

  1. 假设string中的第一个字符在索引0处。转到第11个字符(在上面的例子中是'l'),并且向后find第一个出现空间的位置(在上面的string中,第一个出现空间的位置如果我们从'l'倒退到位置10)。 我们称这个空间的“leSpace”的索引值为10。
  2. 使用…将剩余的string子string…

     [myString substringFromIndex:leSpace] 

…我希望我解释得很好。 请帮忙,你可以写一个片段或什么来帮助我做这个任务?

 - (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)aRange 

对于选项使用: NSBackwardsSearch

 NSRange range = [myString rangeOfString:@" " options:NSBackwardsSearch range:NSMakeRange(0, 11)]; 

例:

 NSString *myString=[NSString stringWithFormat:@"This is my lovely string"]; NSRange range = [myString rangeOfString:@" " options:NSBackwardsSearch range:NSMakeRange(0, 11)]; NSLog(@"range.location: %lu", range.location); NSString *substring = [myString substringFromIndex:range.location+1]; NSLog(@"substring: '%@'", substring); 

NSLog输出:

 range.location: 10 substring: 'lovely string' 

当然,应该有错误检查range.location不等于NSNotFound