java - rangeOfString 和 NSMakeRange : 从 Objective-C 到 Java
问题描述
我有以下 Objective-C 代码,我想将其转换为 Java 代码(适用于 Android)。
我知道我必须使用indexOf()
但我不知道如何适应range:NSMakeRange( old_position, ([currentWord length] - old_position)
Java
NSRange end = [currentWord rangeOfString:@"]" options:NSCaseInsensitiveSearch range:NSMakeRange( old_position, ([currentWord length] - old_position))];
if ( end.location != NSNotFound ) {
old_position = end.location + 1;
}
解决方案
该rangeOfString:options:range:
方法与该方法非常相似indexOf(str, fromIndex)
。
尝试这个:
Integer start = currentWord.indexOf("[", old_position);
由于调用了参数fromPosition
,因此您应该传递要搜索的位置,而不是要搜索的部分的长度。