前言
今天开发项目正好需要从文件路径中截取一段作为文件名,就学习了一下。
核心方法
substring
substring是String类自带的方法用于输出某字符串的子字符串
- stringObject.substring(start);
将原始字符串索引(start)右侧的内容生成子字符串,并输出。
例如:
String str = "test_12345"
String str2 = str.substring(5);
此时生成的str2是"_12345"
- stringObject.substring(start,stop);
将原始字符串索引从(start)到(stop)的内容生成子字符串,并输出。
例如:
String str = "test_12345"
String str2 = str.substring(6,9);
此时生成的str2是"123"
辅助方法
lastIndexOf
效果:可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。(从左侧索引的是IndexOf
方法)
- stringObject.lastIndexOf(str,index);
index 省略时从末尾开始查询,index不省略时从index的索引开始查询。
trim
效果:删除字符串左右两侧的多余空格,但是字符串中间的空格不做处理
很简单就多不说明了。
演示代码
/**
* 从图片的文件路径中获取图片名字
* @param path
* @return
*/
public static String getImageNameByPath(String path){
String fName = path.trim(); //删除路径两侧多余空格
String ImageName = fName.substring(fName.lastIndexOf("/")+1,
fName.lastIndexOf("."));
//截取最右侧斜杠之右的字段,到点为止
return ImageName ;
}
文字描述这样一个代码的就是先将目标字符串裁剪掉左右的空白部分(从我的逻辑设计角度,其实第一行可以省略),然后从右侧算截取出一段由字符"/'和字符"."包裹的字符串。
举例
String filePath = “ data/my/file/myimage.png ”
String mString = getImageNameByPath(filePath);
输入:
“ data/my/file/myimage.png ”
先变成:
“data/my/file/myimage.png”
然后变成:
“myimage”
结语
这个方法在很多需要进行文件路径和文件名处理的时候能用到,因此记录下来,方便自身查找使用。
今日是9月21日,我重新开启1000篇博客计划。加油|ू・ω・` )