开发场景中,有时候会遇到取文件路径中的文件夹名称,这些文件路径往往是 http 格式的,比如下面这样:
/i/l/?n=20&i=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 个其他字符的位置只需要将代码中的 /
替换成该字符即可。