Objective-C,来自偏移量的rangeOfString

时间:2011-04-09 00:51:34

标签: objective-c search nsstring

是否可以使用rangeOfString方法从给定偏移量开始搜索NSString

更类似于PHP中的strpos函数。

由于

2 个答案:

答案 0 :(得分:7)

不是-rangeOfString:,而是类似的方法 - -rangeOfString:options:range:

编辑:示例)

NSString *string = @"YaddaYaddaYadda";
NSString *searchString = @"Yadda";
NSRange thisCharRange, searchCharRange;

searchCharRange = NSMakeRange(3, [string length]);
thisCharRange = [string rangeOfString:searchString options:0 range:searchCharRange];
NSLog(@"thisCharRange: %@", NSStringFromRange(thisCharRange));

答案 1 :(得分:4)

我发现那里的例子有问题。它会导致“范围或索引越界”。

searchCharRange = NSMakeRange(3, [string length]);

应该改为

searchCharRange = NSMakeRange(3, [string length] - 3);

即,范围的长度不应超过original string's length - the range's start location