i" m将文件路径保存为字符串 -
String selectedPath1 = getPath(selectedImageUri);
public String getPath(Uri uri) {
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(uri, projection, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
现在我是Selected Path1字符串如下显示 -
/storage/emulated/0/DCIM/Camera/201403_231.jpg
现在我要做的就是将-201403_231.jpg-作为一个单独的字符串保存。
那么我如何从字符串中"切"它?
感谢您的任何帮助
使用substring()
和lastIndexOf()
方法。请注意,您需要在最后一个索引中添加1个,以不使用/
字符。
String selectedPath1 = "/storage/emulated/0/DCIM/Camera/201403_231.jpg";
String lastPart = selectedPath1.substring(selectedPath1.lastIndexOf('/') + 1);
输出是201403_231.jpg
。
Android是否具有Java具有的File
类型?
String filename = new File(uri).getName();
您可以使用此正则表达式:[^/]*$
。示例:
String mydata = "/storage/emulated/0/DCIM/Camera/201403_231.jpg";
Pattern pattern = Pattern.compile("[^//]*$");
Matcher matcher = pattern.matcher(mydata);
if (matcher.find())
{
System.out.println(matcher.group(0));
}
输出:
201403_231.jpg
selectedPath1.substring(selectedPath1.lastIndexOf('/') + 1)
这将返回文件名。