如何根据最后一个“/”将字符串分成两部分
How to split string into two parts based on last "/"
我想将一个字符串分成两部分,以便我可以获得文件路径和文件名。
这是我的文件路径...
String totalString = "/mnt/sdcard/PDF/abc.pdf"
String filename = "";String filePath = "";
filename = totalString.substring(files.lastIndexOf("/")+1);
文件路径 = ?
我不知道如何获取 filePath = "/mnt/sdcard/PDF/"?
怎么做?
试试这个
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];
}
}
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];
您可以使用 File
class 而不是操作字符串,它可以为您提供所需的所有信息:
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
如您所见,parents 元素被 \
而不是 /
分割,但如果您要使用,这应该不是问题它作为 Java 应用程序的参数,该应用程序也使用 File
s。
filePath = totalString.substring(0, totalString.lastIndexOf("/") + 1);
您可以使用 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
我想将一个字符串分成两部分,以便我可以获得文件路径和文件名。
这是我的文件路径...
String totalString = "/mnt/sdcard/PDF/abc.pdf"
String filename = "";String filePath = "";
filename = totalString.substring(files.lastIndexOf("/")+1);
文件路径 = ?
我不知道如何获取 filePath = "/mnt/sdcard/PDF/"?
怎么做?
试试这个
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];
}
}
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];
您可以使用 File
class 而不是操作字符串,它可以为您提供所需的所有信息:
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
如您所见,parents 元素被 \
而不是 /
分割,但如果您要使用,这应该不是问题它作为 Java 应用程序的参数,该应用程序也使用 File
s。
filePath = totalString.substring(0, totalString.lastIndexOf("/") + 1);
您可以使用 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