将一个路径进行标准化的解析, 防止路径中连续出现多个‘/’,以及防止路径中出现'\', 防止路径结尾出现 '/'
Posted 夜晚的猫头鹰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将一个路径进行标准化的解析, 防止路径中连续出现多个‘/’,以及防止路径中出现'\', 防止路径结尾出现 '/'相关的知识,希望对你有一定的参考价值。
由于不同系统,路径的信息表示不同,但是最后的处理却是使用同一格式的,
比如:输入的路径为:D:\\kassdev\\app-kaace\\classes\\com\\kass\\commons\\utils,
需要输出的路径信息为:D:/kassdev/app-kaace/classes/com/kass/commons/utils
以下的代码,对这种情况进行了处理
public static String parsePath(final String path){
if(path==null || path.length()==0)
return "";
if(path.indexOf("\\")>=0){
String path2 = path.replaceAll("\\\\", "/");
while(path2.indexOf("//")>=0){
path2 = path2.replaceAll("//", "/");
}
if(path2.endsWith("/") && !path2.equals("/")){
path2 = path2.substring(0, path2.length()-1);
}
return path2;
}else{
if(path.indexOf("//")>=0){
String path2 = path.replaceAll("//", "/");
while(path2.indexOf("//")>=0){
path2 = path2.replaceAll("//", "/");
}
if(path2.endsWith("/") && !path2.equals("/")){
path2 = path2.substring(0, path2.length()-1);
}
return path2;
}else{
if(path.endsWith("/") && !path.equals("/")){
String path2 = path.substring(0, path.length()-1);
return path2;
}else{
return path;
}
}
}
}
以上是关于将一个路径进行标准化的解析, 防止路径中连续出现多个‘/’,以及防止路径中出现'\', 防止路径结尾出现 '/'的主要内容,如果未能解决你的问题,请参考以下文章
写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名?pathinfo文件路径& parse_url解析url & basename路径中文件名