首页 > 解决方案 > 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;
    }

标签: javaandroidobjective-ctranslatecode-translation

解决方案


rangeOfString:options:range:方法与该方法非常相似indexOf(str, fromIndex)

尝试这个:

Integer start = currentWord.indexOf("[", old_position);

由于调用了参数fromPosition,因此您应该传递要搜索的位置,而不是要搜索的部分的长度。


推荐阅读