截取字符串的方法为substring();
一般需求为截取指定符号(/ 或 . ) 第一次或最后一次出现的位置之前或之后的字符串
比如,先指定一个字符串 : str = "c:\a\b\c\d.java"
(1) 截取文件名(截取 \ 最后一次出现位置之后的内容)
先索引 \ 最后一次出现的位置 : int lastIndex = str.lastIndexOf("\"); (备注:此位置为字符串下标位置,为最后一个 \ 的下标位置,如果截取它后面的内容,不包括 \ ,应为 lastIndex + 1)
获取文件名 filename = str.substring(lastIndex + 1);
filename = "d.java";
(2)截取路径+ 文件名(截取 \ 第一次出现的位置之后的内容)
先索引 \ 第一次出现的位置: int index = str.indexOf("\"); (备注:此位置为字符串下标位置,为第一个 \ 的下标位置,包括它,则直接截取即可)
path = str.substring(index);
或者截取 : 后面的内容,则为如下
int index2 = str.indexOf(":");
path = str.substring(index + 1);
path = "\a\b\c\d.java";
(3)截取绝对路径(截取 \ 最后一次出现位置之前的内容)
int lastIndex = str.lastIndexOf("\");
path = str.substring(0,lastIndex );
path = "c:\a\b\c\";
(4)截取相对路径(截取 \ 第一次出现的位置之后 以及\ 最后一次出现位置之前的内容)
先索引 \ 第一次出现的位置: int index = str.indexOf("\");
再索引 \ 最后一次出现的位置:int lastIndex = str.lastIndexOf("\");
path = str.substring(index,lastIndex );
或者 int index2 = str.indexOf(":");
path = str.substring(index2 + 1,lastIndex );
path = "\a\b\c\";