在Objective-C中使用偏移量和使用子string获取NSString中字符的索引
我有一个string!
NSString *myString=[NSString stringWithFormat:@"This is my lovely string"];
我想要做的是:
- 假设string中的第一个字符在索引0处。转到第11个字符(在上面的例子中是'l'),并且向后find第一个出现空间的位置(在上面的string中,第一个出现空间的位置如果我们从'l'倒退到位置10)。 我们称这个空间的“leSpace”的索引值为10。
-
使用…将剩余的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