0

我正在开发安卓应用程序。我正在从图库中获取图像。我也从图库中获取图像路径。现在我的要求是我只想获取带有扩展名的图像名称。我怎样才能做到这一点?请帮我。

String imgpath =  "/mnt/sdcard/joke.png";

图像扩展名可以是任何东西joke.pngjoke.jpeg. 我最终需要获得带有扩展名的图像名称。

即我想拆分上面的字符串并只得到joke.png.

我怎样才能做到这一点?请在这方面帮助我。

4

5 回答 5

14
String imgpath = "/mnt/sdcard/joke.png";

String result = imgpath.substring(imgpath.lastIndexOf("/") + 1); 
System.out.println("Image name " + result);

输出 :-

Image name joke.png

您应该阅读如何从包含绝对文件路径的字符串中获取文件名?

于 2013-09-13T13:15:17.640 回答
4

您可以像在任何 Java 程序中一样在 Android 中执行此操作:

String[] parts = imagepath.split("/");
String result = parts[parts.length-1];
于 2013-09-13T13:16:55.497 回答
4
String s[] = imgpath.split("/");
String result = s[s.length-1];
于 2013-09-13T13:18:15.187 回答
1
String imgName = imgpath.substring((imgpath.lastIndexOf("/") + 1), imgpath.length());
于 2013-09-13T13:32:46.127 回答
0

你也可以用 Regex 得到这个,如果你手里拿着锤子的话:

String fileName = null;
Pattern pattern = Pattern.compile("(^|.*/)([^/]*)$");
Matcher m = pattern.getMatcher(filenameWithPath);
if(matcher.matches()) {

        fileName = matcher.group(2);
}

但不要试图这样做。这可读性较差,甚至可能比其他方法慢。

于 2013-09-13T13:19:23.640 回答