如何拆分一个android的字符串?

时间:2013-09-13 13:12:55

标签: java

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

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

图片扩展名可以是joke.pngjoke.jpeg。我需要最终获得带扩展名的图片名称。

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

我怎样才能实现这一目标?请帮助我。

5 个答案:

答案 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);
}

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