黑马程序员技术交流社区
标题:
关于“.”
[打印本页]
作者:
dengjia1778
时间:
2015-3-23 22:48
标题:
关于“.”
本帖最后由 dengjia1778 于 2015-3-24 20:48 编辑
在编写 “一个可以获取文件扩展名的函数”这个题目时
看网上写的是 //获取文件扩展名
public static String getPath(String path)
{
if( path==null||path.lastIndexOf(".")==-1)
return null;
else{
return path.substring(path.lastIndexOf(".")+1);
}
}
而我自己写的是
public static String getPath(String path)
{
if( path==null||path.lastIndexOf(".")==-1)
return null;
else
{
//用“.”好将文件名分割成不同的极端存储在数组中
String[] arr=path.split("\\.");
//返回数组长度
int length=arr.length ;
//返回扩展名
return arr[length];
}
}
问题:我自己在用"."来切割文件名的时候一定要用“\\.”才能运行成功,网上说是需要转义,但是path.lastIndexOf(".")这个为什么不需要将“.”转义就能运行成功呢?
作者:
Etby
时间:
2015-3-24 02:16
split 是依据正则解析的 会分析字符串 而.lastIndexOf 只是按照字符串解析 找到位置+1就是跳过 . 号了 然后substring 从跳过的地方之后开始截取
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2