7

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

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

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

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

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

4

2 回答 2

9

但是寻找一种通用的更清洁的方法。也许对任何 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

于 2012-05-28T14:10:16.690 回答
1

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

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

使用下面的代码

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

将文件夹名称返回为“whatsApp Video”

于 2017-11-04T18:07:54.757 回答