0

i have a dynamic String like

age/data/images/four_seasons1.jpg

from above string i need to get the image name alone (i.e.) four_seasons1.jpg

the path and the image will be a dynamic one(any image format will occure)

Please let me know how to do this in java?

thanks in advance

4

5 回答 5

4

使用文件对象。

new File("/path/to/file").getName()

您也可以使用 String.split()。

"/path/to/file/sdf.png".split("/")

这将为您提供一个数组,您可以在其中选择最后一个元素。但文件对象更适合。

于 2012-10-05T06:31:21.863 回答
1
String text = "age/data/images/four_seasons1.jpg";

String name = text.substring(text.lastIndexOf("/") + 1);
String path = text.substring(0, text.lastIndexOf("/"));
System.out.println(name);
System.out.println(path);

输出

four_seasons1.jpg
age/data/images

花点时间熟悉java.lang.String API。你会经常做这种事情

于 2012-10-05T06:31:40.670 回答
0
String s = "age/data/images/four_seasons1.jpg";

String fileName = new String();

String[] arr = s.split("/");

fileName = arr[arr.length-1];

}
于 2012-10-05T06:35:05.660 回答
0

您可以使用正则表达式,但如果您发现模式是固定的,一个非常粗略的解决方案可能是一种直接的方法

    String url = "age/data/images/four_seasons1.jpg";

    String imageName = url.substring(url.lastIndexOf( "/" )+1, url.length()) ;
于 2012-10-05T06:32:13.603 回答
0

您可以解析此路径。作为分隔符,您必须使用'/'符号。之后,您可以获取最后解析的元素。

String phrase = "age/data/images/four_seasons1.jpg";
String delims = "/";
String[] tokens = phrase.split(delims);

关于 String.split 你可以在这里阅读更多。

于 2012-10-05T06:33:56.520 回答