如何根据最后一个" /"将字符串分成两部分

时间:2015-03-27 14:59:00

标签: java android string split

我想将一个字符串分成两部分,以便我可以获取文件路径和文件名。

这是我的档案路径......

String totalString = "/mnt/sdcard/PDF/abc.pdf"
String filename = "";String filePath = "";
filename = totalString.substring(files.lastIndexOf("/")+1);

filePath =?

我没有得到如何获取filePath =“/ mnt / sdcard / PDF /”?

怎么做?

5 个答案:

答案 0 :(得分:8)

您可以使用File类来代替操纵字符串,它可以为您提供所需的所有信息:

String totalString = "/mnt/sdcard/PDF/abc.pdf";
File f = new File(totalString);
String filename = f.getName();
String filePath = f.getParent();
System.out.println(filename);
System.out.println(filePath);

输出:

abc.pdf
\mnt\sdcard\PDF

如您所见,的元素与\而不是/分开,但如果您要将其用作参数,这不应该成为问题对于也使用File的Java应用程序。

答案 1 :(得分:3)

filePath = totalString.substring(0, totalString.lastIndexOf("/") + 1);

答案 2 :(得分:2)

试试这个

String totalString = "/mnt/sdcard/PDF/abc.pdf";
String[] str=totalString.split("/");
String filename = ""

for(int i=0;i<str.length();i++){
    if(str[i].endsWith(".pdf")){
        filename=str[i];
    }
}

答案 3 :(得分:2)

您可以使用string.split功能。

String totalString = "/mnt/sdcard/PDF/abc.pdf";
String[] parts = totalString.split("(?<=/)(?=[^/]*$)");
String path = parts[0];
String filename = parts[1];
System.out.println(path);
System.out.println(filename);

<强>输出:

/mnt/sdcard/PDF/
abc.pdf

答案 4 :(得分:1)

String totalString = "/mnt/sdcard/PDF/abc.pdf";
String filename = "";String filePath = "";
String[] splitted = totalString.split("/");
int i = 0;
for (int i; i < (splitted.length - 1); i++) {
    filePath += splitted[i];
}
filename = splitted[i];