截取字符串

截取字符串的方法为substring();

一般需求为截取指定符号(/ 或 . ) 第一次或最后一次出现的位置之前或之后的字符串

比如,先指定一个字符串 :

 str = "c:\a\b\c\d.java"
  1. 截取文件名(截取 \ 最后一次出现位置之后的内容)

先索引 \ 最后一次出现的位置 :

int lastIndex = str.lastIndexOf("\");  

(备注:此位置为字符串下标位置,为最后一个 \ 的下标位置,如果截取它后面的内容,不包括 \ ,应为 lastIndex + 1

获取文件名

filename = str.substring(lastIndex + 1);
 filename = "d.java";
  1. 截取路径+ 文件名(截取 \ 第一次出现的位置之后的内容)

先索引 \ 第一次出现的位置:

 int index = str.indexOf("\")

(备注:此位置为字符串下标位置,为第一个 \ 的下标位置,包括它,则直接截取即可)

   path = str.substring(index);

或者截取 : 后面的内容,则为如下

int index2 = str.indexOf(":");

path = str.substring(index + 1);

path = "\a\b\c\d.java";

  1. 截取绝对路径(截取 \ 最后一次出现位置之前的内容)

int lastIndex = str.lastIndexOf("\");

path = str.substring(0,lastIndex );

path = "c:\a\b\c\";

  1. 截取相对路径(截取 \ 第一次出现的位置之后 以及\ 最后一次出现位置之前的内容)

先索引 \ 第一次出现的位置:

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\";

posted @ 2020-12-10 17:53  来一杯coffee  阅读(180)  评论(0)    收藏  举报