String上一个最后一个索引

tec*_*e2k 5 java delimited-text

是否有一种简单的方法来获取字符串的倒数第二个分隔子串?

String original = "/1/6/P_55/T_140";
Run Code Online (Sandbox Code Playgroud)

在此示例中,生成的子字符串将是 "P_55/T_140"

我想在这个子串的开头找到正斜杠的索引(/)

我知道String.lastIndexOf()两次打电话会有所帮助.但寻找一种更通用的清洁方法.也许任何N.

NPE*_*NPE 8

但寻找一种更通用的清洁方法.也许任何N.

String.lastIndexOf(int,int)在循环中调用将非常有效,并且可以说非常干净:

    int pos = str.length();
    for (int i = 0; i < n; i++) {
        pos = str.lastIndexOf('/', pos - 1);
    }
    String out = str.substring(pos + 1);
Run Code Online (Sandbox Code Playgroud)

这可以很容易变成一个辅助函数回吐str,'/'以及n,并返回out.