Objective-C,来自偏移量的rangeOfString

Mar*_*ark 3 search objective-c nsstring

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

更类似于strposPHP中的函数.

谢谢

She*_*ley 8

不是-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));
Run Code Online (Sandbox Code Playgroud)


sat*_*tgi 5

我发现上面的例子有问题。它会导致“范围或索引超出范围”。

searchCharRange = NSMakeRange(3, [string length]);
Run Code Online (Sandbox Code Playgroud)

应该改为

searchCharRange = NSMakeRange(3, [string length] - 3);
Run Code Online (Sandbox Code Playgroud)

也就是说,范围的长度不应长于original string's length - the range's start location.