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