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

时间:2025-03-18 07:03:20

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

/blog/2413255/202112/

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

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

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

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