替换字符串的结尾

use*_*654 -1 java string replace

我有一个xml的路径名,我试图用.pdf替换它.

我想这样做:

"files"是一个字符串,例如,其值为123456.xml或123456.XML

else if(files.endsWith(".XML") || files.endsWith(".xml")){
            String pdfName = files.replace(".xml", ".pdf");
            derp = db.getDerpyName(pdfName);
            XMLobj.Process(files, derp);
}
Run Code Online (Sandbox Code Playgroud)

当我打印pdfname时,它仍然是123456.xml

我试图让它123456.pdf

请指教.

谢谢!

Ell*_*sch 5

你的假设一定是错的,我测试了这段代码

public static void main(String[] args) throws Exception {
    String files = "123456.xml";
    String pdfName = files.replace(".xml", ".pdf");
    System.out.println(pdfName);
}
Run Code Online (Sandbox Code Playgroud)

输出是

123456.pdf
Run Code Online (Sandbox Code Playgroud)

编辑: 根据你的评论要求不区分大小写,你可以做 -

public static void main(String[] args) throws Exception {
    String files = "123456.XML";
    int index = files.toLowerCase().indexOf(".xml");
    String pdfName;
    if (index > -1) {
        pdfName = files.substring(0, index) + ".pdf";
    } else {
        pdfName = files + ".pdf";
    }
    System.out.println(pdfName);
}
Run Code Online (Sandbox Code Playgroud)

哪个也会输出

123456.pdf
Run Code Online (Sandbox Code Playgroud)