String上一个最后一个索引

时间:2012-05-28 14:07:26

标签: java delimited-text

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

String original = "/1/6/P_55/T_140";

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

我想在此子字符串的开头找到正斜杠的索引(/

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

2 个答案:

答案 0 :(得分: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);

这可以很容易地变成一个帮助函数,即str'/'n,并返回out

答案 1 :(得分:0)

获取媒体文件所在的文件夹名称

/ storage / emulated / 0 / WhatsApp / Media / WhatsApp Video / VID-20170812-WA0000.mp4

使用以下代码

String folderName = filePath.substring(filePath.lastIndexOf('/',filePath.lastIndexOf('/')-1),filePath.lastIndexOf('/'));

将folderName作为'whatsApp Video'

返回