获取字符串中倒数第二个特定字符的位置

开发场景中,有时候会遇到取文件路径中的文件夹名称,这些文件路径往往是 http 格式的,比如下面这样:

https://img2020.cnblogs.com/blog/2413255/202112/2413255-20211206155717931-1767206212.png

这个文件夹名称往往是指倒数第 2 个 / 到最后一个 / 直接的内容,此时就需要获取字符串中倒数第 2 个 / 的位置,可以这样实现:

/**
 * 获取文件夹名称
 * @param path 路径
 * @return 文件夹名称
 */
public String getFolder(String path) {
    // 最后一个分隔符位置
    int lastIndex = path.lastIndexOf("/");
    // 倒数第二个分隔符位置
    int secondLastIndex = path.lastIndexOf("/", lastIndex - 1);
    // 截取文件夹名称
    return path.substring(secondLastIndex + 1, lastIndex);
}

从最后一个 / 的位置减 1 再取最后一个 / 的位置,也就是倒数第 2 个 / 的位置了。

要获取倒数第 2 个其他字符的位置只需要将代码中的 / 替换成该字符即可。

posted @ 2022-08-17 13:47  天航星  阅读(1759)  评论(0编辑  收藏  举报