我正在开发Android应用程序。我从画廊获取图像。我也从画廊获取图像路径。现在我的要求是我只想获得带扩展名的图像名称。我怎样才能做到这一点?请帮帮我。
String imgpath = "/mnt/sdcard/joke.png";
图片扩展名可以是joke.png
或joke.jpeg
。我需要最终获得带扩展名的图片名称。
即我想拆分上面的字符串,只获得joke.png
。
我怎样才能实现这一目标?请帮助我。
答案 0 :(得分:14)
String imgpath = "/mnt/sdcard/joke.png";
String result = imgpath.substring(imgpath.lastIndexOf("/") + 1);
System.out.println("Image name " + result);
输出: -
Image name joke.png
您应该阅读How do I get the file name from a String containing the Absolute file path?
答案 1 :(得分:4)
您可以像在任何Java程序中一样在Android中执行此操作:
String[] parts = imagepath.split("/");
String result = parts[parts.length-1];
答案 2 :(得分:4)
String s[] = imgpath.split("/");
String result = s[s.length-1];
答案 3 :(得分:1)
String imgName = imgpath.substring((imgpath.lastIndexOf("/") + 1), imgpath.length());
答案 4 :(得分:0)
你也可以使用Regex获得这个,如果那是你掌握的锤子:
String fileName = null;
Pattern pattern = Pattern.compile("(^|.*/)([^/]*)$");
Matcher m = pattern.getMatcher(filenameWithPath);
if(matcher.matches()) {
fileName = matcher.group(2);
}
但不要试图这样做。这不太可读,甚至可能比其他方法慢。