【问题标题】:rangeOfString and NSMakeRange : from Objective-C to JavarangeOfString 和 NSMakeRange : 从 Objective-C 到 Java
【发布时间】:2018-11-06 23:01:26
【问题描述】:

我有以下 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;
    }

【问题讨论】:

  • 你能展示整个Objective-C方法吗?这样我们就可以知道old_position 是什么,以及你在更高的抽象层次上尝试做什么。
  • @Sweeper 不幸的是,这个函数很长而且很“脏”,但这里是整个代码:gist.github.com/kevin-valerio/4f60a334adaeea37ac4daa338c858b83。希望对您有所帮助!

标签: java android objective-c translate code-translation


【解决方案1】:

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

试试这个:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-16
    • 2014-01-15
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    相关资源
    最近更新 更多