Java替换所需的帮助

时间:2014-11-20 13:39:19

标签: java

嘿家伙所以我试图替换所有字符和数字以获得/ 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);
}

我希望输出为

/你好/什么/

非常感谢!

3 个答案:

答案 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);