嘿家伙所以我试图替换所有字符和数字以获得/ hello / what / only而没有REMOVEThis4.PNG我不想使用string.replace(“REMOVEThis4.PNG”,“”);因为我想在其他字符串上使用它而不仅仅是
任何帮助都很棒我的代码
String sFile = "/hello/what/REMOVEThis4.PNG";
if (sFile.contains("/")){
String Replaced = sFile.replaceAll("(?s)", "");
System.out.println(Replaced);
}
我希望输出为
/你好/什么/
非常感谢!
答案 0 :(得分:2)
如果您尝试解析路径,我建议找到/
的最后一个索引,并获取此索引的子字符串加1。所以
string = string.substring(0, string.lastIndexOf("/") + 1);
答案 1 :(得分:0)
在您的情况下无需使用正则表达式:
String sFile = "/hello/what/REMOVEThis4.PNG";
// TODO check actual last index of "/" against -1
System.out.println(sFile.substring(0, sFile.lastIndexOf("/") + 1));
<强>输出强>
/hello/what/
注意强>
如果您正在处理实际文件,您可以省去String
操作并改为使用File.getParent()
:
File file = new File("/hello/what/REMOVEThis4.PNG");
System.out.println(file.getParent());
输出(可能会因系统而异)
\hello\what
答案 2 :(得分:0)
使用Java的File
API:
String example = "/hello/what/REMOVEThis4.PNG";
File file = new File(example);
System.out.println(example);
String absolutePath = file.getAbsolutePath();
String filePath = absolutePath.substring(0, absolutePath.lastIndexOf(File.separator));
System.out.println(filePath);