我正在尝试整理java中字符串格式的目录。我只想要图像/文件名,并想在图像之前删除目录。
假设您具有此目录路径:C:/hello/myAwesomeImage.png
String [] myFile = "C:/hello/myAwesomeImage.png".split("/"); // split it
String myFileName = myFile[myFile.length - 1]; // Extract filename
输出:"myAwesomeImage.png"
如果您的路径包含\
,则需要像这样分割:split("\\")
以逃避反斜杠。
或者,如果您不想拆分,请使用RegEx。
反斜杠+无扩展名
String myFile = "C:\\hello\\myAwesomeImage.png".matches("[ \\w-]+?(?=\\.)");
输出:"myAwesomeImage"
反斜杠+扩展名
String myFile = "C:\\hello\\myAwesomeImage.png".matches(^.+\\([^.]+)\.[^\.]+$");
输出:"myAwesomeImage.png"
我建议您使用File API而不是字符串操作,这可以在可能使用/或的操作系统之间移植。
File myFile = new File("C:/hello/myAwesomeImage.png");
System.out.println(myFile.getName());
System.out.println(myFile.getParentFile().getName());
System.out.println(myFile.getParentFile().getParent());